Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2841)

Unified Diff: app/bin/server.dart

Issue 2840533002: Add a helper function to ensure we have the correct datastore installed
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | app/bin/server_common.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: app/bin/server.dart
diff --git a/app/bin/server.dart b/app/bin/server.dart
index e05448df1d68614e5ac203929c5cab2437466050..74e9ea2ce27a5caf46faa1e35aefac6f2a77dffa 100644
--- a/app/bin/server.dart
+++ b/app/bin/server.dart
@@ -29,52 +29,40 @@ void main() {
useLoggingPackageAdaptor();
withAppEngineServices(() async {
- return fork(() async {
- DatastoreDB savedDb;
- if (Platform.isMacOS) {
- savedDb = await initializeApiaryDatastore();
- }
+ return withCorrectDatastore((DatastoreDB savedDb) async {
final shelf.Handler apiHandler = await setupServices(activeConfiguration);
- var requestHandler = (HttpRequest ioRequest) async {
- if (context.isProductionEnvironment &&
- ioRequest.requestedUri.scheme != 'https') {
- final secureUri = ioRequest.requestedUri.replace(scheme: 'https');
- ioRequest.response
- ..redirect(secureUri)
- ..close();
- } else {
- try {
- return shelf_io.handleRequest(ioRequest,
- (shelf.Request request) async {
- logger.info('Handling request: ${request.requestedUri}');
- await registerLoggedInUserIfPossible(request);
- try {
- final sanitizedRequest = sanitizeRequestedUri(request);
- return await appHandler(sanitizedRequest, apiHandler);
- } catch (error, s) {
- logger.severe('Request handler failed', error, s);
- return new shelf.Response.internalServerError();
- } finally {
- logger.info('Request handler done.');
- }
- });
- } catch (error, stack) {
- logger.severe('Request handler failed', error, stack);
+ await runAppEngine((HttpRequest ioRequest) async {
+ return withCorrectDatastore((_) {
+ if (context.isProductionEnvironment &&
+ ioRequest.requestedUri.scheme != 'https') {
+ final secureUri = ioRequest.requestedUri.replace(scheme: 'https');
+ ioRequest.response
+ ..redirect(secureUri)
+ ..close();
+ } else {
+ try {
+ return shelf_io.handleRequest(ioRequest,
+ (shelf.Request request) async {
+ logger.info('Handling request: ${request.requestedUri}');
+ await registerLoggedInUserIfPossible(request);
+ try {
+ final sanitizedRequest = sanitizeRequestedUri(request);
+ return await appHandler(sanitizedRequest, apiHandler);
+ } catch (error, s) {
+ logger.severe('Request handler failed', error, s);
+ return new shelf.Response.internalServerError();
+ } finally {
+ logger.info('Request handler done.');
+ }
+ });
+ } catch (error, stack) {
+ logger.severe('Request handler failed', error, stack);
+ }
}
- }
- };
- if (Platform.isMacOS) {
- final origHandler = requestHandler;
- requestHandler = (ioRequest) {
- fork(() async {
- registerDbService(savedDb);
- await origHandler(ioRequest);
- });
- };
- }
- await runAppEngine(requestHandler);
- });
+ }, savedDb);
+ });
+ }, null);
});
}
« no previous file with comments | « no previous file | app/bin/server_common.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698