Index: utils/testrunner/http_server.dart |
diff --git a/utils/testrunner/http_server.dart b/utils/testrunner/http_server.dart |
deleted file mode 100644 |
index 1f74290345d64ff0144eb965c5b1584f3f2c613c..0000000000000000000000000000000000000000 |
--- a/utils/testrunner/http_server.dart |
+++ /dev/null |
@@ -1,108 +0,0 @@ |
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-library http_server; |
-import 'dart:io'; |
-import 'package:args/args.dart'; |
- |
-/** An options parser for the server. */ |
-ArgParser getOptionParser() { |
- var parser = new ArgParser(); |
- parser.addOption('port', abbr: 'p', |
- help: 'Set the server listening port.', |
- defaultsTo: '80'); |
- |
- parser.addOption('root', abbr: 'r', |
- help: 'Set the directory for static files.'); |
- return parser; |
-} |
- |
-/** A simple HTTP server. Currently handles serving static files. */ |
-class HttpTestServer { |
- HttpServer server; |
- List<Function> matchers = []; |
- List<Function> handlers = []; |
- |
- /** If set, serve up static files from this directory. */ |
- String staticFileDirectory; |
- |
- /* A common subset of all possible MIME types. */ |
- static const MIME_TYPES = const { |
- 'json' : 'applicaton/json', |
- 'js' : 'application/javascript', |
- 'cgm' : 'image/cgm', |
- 'g3fax': 'image/g3fax', |
- 'gif' : 'image/gif', |
- 'jpeg' : 'image/jpeg', |
- 'jpg' : 'image/jpeg', |
- 'png' : 'image/png', |
- 'tif' : 'image/tiff', |
- 'tiff' : 'image/tiff', |
- 'ac3' : 'audio/ac3', |
- 'mp3' : 'audio/mpeg', |
- 'ogg' : 'audio/ogg', |
- 'css' : 'text/css', |
- 'csv' : 'text/csv', |
- 'htm' : 'text/html', |
- 'html' : 'text/html', |
- 'txt' : 'text/plain', |
- 'rtf' : 'text/rtf', |
- 'mp4' : 'video/mp4', |
- 'qt' : 'video/quicktime', |
- 'vc1' : 'video/vc1' |
- }; |
- |
- HttpTestServer(int port, this.staticFileDirectory) { |
- HttpServer.bind("127.0.0.1", port).then((s) { |
- server = s; |
- print('Server listening on port $port'); |
- server.listen((HttpRequest request) { |
- for (var i = 0; i < matchers.length; i++) { |
- if (matchers[i](request)) { |
- handlers[i](request); |
- return; |
- } |
- } |
- HttpResponse response = request.response; |
- try { |
- if (staticFileDirectory != null) { |
- String fname = request.uri.path; |
- String path = '$staticFileDirectory$fname'; |
- File f = new File(path); |
- if (f.existsSync()) { |
- var p = path.substring(path.lastIndexOf('.') + 1).toLowerCase(); |
- if (MIME_TYPES.containsKey(p)) { |
- var ct = MIME_TYPES[p]; |
- var idx = ct.indexOf('/'); |
- response.headers.contentType = |
- new ContentType(ct.substring(0, idx), |
- ct.substring(idx + 1)); |
- } |
- response.addStream(f.openRead()).then((_) => response.close()); |
- } else { |
- response.statusCode = HttpStatus.NOT_FOUND; |
- response.reasonPhrase = '$path does not exist'; |
- response.close(); |
- } |
- } |
- } catch(e,s) { |
- response.statusCode = HttpStatus.INTERNAL_SERVER_ERROR; |
- response.reasonPhrase = "$e"; |
- response.write(s); |
- response.close(); |
- } |
- }); |
- }); |
- } |
- |
- void addHandler(Function matcher, Function handler) { |
- matchers.add(matcher); |
- handlers.add(handler); |
- } |
- |
- void close() { |
- server.close(); |
- } |
-} |
- |