Skip to content

Instantly share code, notes, and snippets.

@ThomasLocke
Created October 12, 2014 13:54
Show Gist options
  • Save ThomasLocke/4d4a872406717d7da97e to your computer and use it in GitHub Desktop.
Save ThomasLocke/4d4a872406717d7da97e to your computer and use it in GitHub Desktop.
shelfmiddleware.main()
import 'dart:io';
import '../lib/middleware.dart';
import '../lib/cors.dart';
import '../lib/routes.dart';
import 'package:args/args.dart';
import 'package:shelf/shelf.dart' as shelf;
import 'package:shelf/shelf_io.dart' as io;
void main(List<String> args) {
final ArgParser argParser = new ArgParser()
..addFlag('disableTokens');
final ArgResults cliArgs = argParser.parse(args);
shelf.Pipeline pipeline = new shelf.Pipeline()
.addMiddleware(shelf.logRequests())
.addMiddleware(addCORSHeaders);
if(cliArgs['disableTokens']) {
print('SECURITY WARNING: daemon does not check for valid tokens');
} else {
pipeline = pipeline.addMiddleware(checkToken);
print('Token checking enabled');
}
final shelf.Handler handler = pipeline.addHandler(routes.handler);
io.serve(handler, InternetAddress.ANY_IP_V4, 8080).then((HttpServer server) {
print('Listening on port ${server.port}');
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment