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