From a982f0213b30a4baff3c825c42e24a2d89ef8e35 Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Wed, 29 Jul 2015 16:27:41 -0700 Subject: [PATCH] Add the option to log to sky_server --- packages/flutter_tools/bin/sky_server.dart | 25 +++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/packages/flutter_tools/bin/sky_server.dart b/packages/flutter_tools/bin/sky_server.dart index 49a321cb0bb..191489ae50d 100644 --- a/packages/flutter_tools/bin/sky_server.dart +++ b/packages/flutter_tools/bin/sky_server.dart @@ -4,29 +4,44 @@ import 'dart:io'; +import 'package:args/args.dart'; import 'package:shelf_static/shelf_static.dart'; import 'package:shelf/shelf_io.dart' as io; import 'package:shelf/shelf.dart'; -const String usage = 'Usage: sky_server PORT'; +void printUsage(parser) { + print('Usage: sky_server [-v] PORT'); + print(parser.usage); +} main(List argv) async { - if (argv.length != 1) { - print(usage); + ArgParser parser = new ArgParser(); + parser.addFlag('help', abbr: 'h', negatable: false, + help: 'Display this help message.'); + parser.addFlag('verbose', abbr: 'v', negatable: false, + help: 'Log requests to stdout.'); + + ArgResults args = parser.parse(argv); + + if (args['help'] || args.rest.length != 1) { + printUsage(parser); return; } int port; try { - port = int.parse(argv[0]); + port = int.parse(args.rest[0]); } catch(e) { - print(usage); + printUsage(parser); return; } Handler handler = createStaticHandler(Directory.current.path, serveFilesOutsidePath: true); + if (args['verbose']) + handler = const Pipeline().addMiddleware(logRequests()).addHandler(handler); + HttpServer server; try { server = await io.serve(handler, InternetAddress.LOOPBACK_IP_V4, port);