Commit a982f021 authored by Adam Barth's avatar Adam Barth

Add the option to log to sky_server

parent d1f0a8d1
...@@ -4,29 +4,44 @@ ...@@ -4,29 +4,44 @@
import 'dart:io'; import 'dart:io';
import 'package:args/args.dart';
import 'package:shelf_static/shelf_static.dart'; import 'package:shelf_static/shelf_static.dart';
import 'package:shelf/shelf_io.dart' as io; import 'package:shelf/shelf_io.dart' as io;
import 'package:shelf/shelf.dart'; 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<String> argv) async { main(List<String> argv) async {
if (argv.length != 1) { ArgParser parser = new ArgParser();
print(usage); 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; return;
} }
int port; int port;
try { try {
port = int.parse(argv[0]); port = int.parse(args.rest[0]);
} catch(e) { } catch(e) {
print(usage); printUsage(parser);
return; return;
} }
Handler handler = createStaticHandler(Directory.current.path, Handler handler = createStaticHandler(Directory.current.path,
serveFilesOutsidePath: true); serveFilesOutsidePath: true);
if (args['verbose'])
handler = const Pipeline().addMiddleware(logRequests()).addHandler(handler);
HttpServer server; HttpServer server;
try { try {
server = await io.serve(handler, InternetAddress.LOOPBACK_IP_V4, port); server = await io.serve(handler, InternetAddress.LOOPBACK_IP_V4, port);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment