| 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);
|
| });
|
| }
|
|
|
|
|