| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library http_server; | 5 library http_server; |
| 6 | 6 |
| 7 import 'dart:io'; | 7 import 'dart:io'; |
| 8 import 'dart:isolate'; | 8 import 'dart:isolate'; |
| 9 import 'test_suite.dart'; // For TestUtils. | 9 import 'test_suite.dart'; // For TestUtils. |
| 10 import '../../../pkg/args/lib/args.dart'; | 10 import '../../../pkg/args/lib/args.dart'; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 static setPackageRootDir(Map configuration) { | 66 static setPackageRootDir(Map configuration) { |
| 67 _packageRootDir = TestUtils.currentWorkingDirectory.join( | 67 _packageRootDir = TestUtils.currentWorkingDirectory.join( |
| 68 new Path(TestUtils.buildDir(configuration))); | 68 new Path(TestUtils.buildDir(configuration))); |
| 69 } | 69 } |
| 70 | 70 |
| 71 static startHttpServer(String host, {int allowedPort:-1, int port: 0}) { | 71 static startHttpServer(String host, {int allowedPort:-1, int port: 0}) { |
| 72 var basePath = TestUtils.dartDir(); | 72 var basePath = TestUtils.dartDir(); |
| 73 var httpServer = new HttpServer(); | 73 var httpServer = new HttpServer(); |
| 74 var packagesDirName = 'packages'; | 74 var packagesDirName = 'packages'; |
| 75 httpServer.onError = (e) { | 75 httpServer.onError = (e) { |
| 76 // Consider errors in the builtin http server fatal. | 76 // TODO(ricow): Once we have a debug log we should write this out there. |
| 77 // Intead of just throwing the exception we print | |
| 78 // a message that makes it clearer what happened. | |
| 79 print('Test http server error: $e'); | 77 print('Test http server error: $e'); |
| 80 exit(1); | |
| 81 }; | 78 }; |
| 82 httpServer.defaultRequestHandler = (request, resp) { | 79 httpServer.defaultRequestHandler = (request, resp) { |
| 83 var requestPath = new Path(request.path.substring(1)).canonicalize(); | 80 var requestPath = new Path(request.path.substring(1)).canonicalize(); |
| 84 var path = basePath.join(requestPath); | 81 var path = basePath.join(requestPath); |
| 85 var file = new File(path.toNativePath()); | 82 var file = new File(path.toNativePath()); |
| 86 | 83 |
| 87 if (requestPath.segments().contains(packagesDirName)) { | 84 if (requestPath.segments().contains(packagesDirName)) { |
| 88 // Essentially implement the packages path rewriting, so we don't have | 85 // Essentially implement the packages path rewriting, so we don't have |
| 89 // to pass environment variables to the browsers. | 86 // to pass environment variables to the browsers. |
| 90 var requestPathStr = requestPath.toNativePath().substring( | 87 var requestPathStr = requestPath.toNativePath().substring( |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 }); | 133 }); |
| 137 | 134 |
| 138 httpServer.listen(host, port); | 135 httpServer.listen(host, port); |
| 139 serverList.add(httpServer); | 136 serverList.add(httpServer); |
| 140 } | 137 } |
| 141 | 138 |
| 142 static terminateHttpServers() { | 139 static terminateHttpServers() { |
| 143 for (var server in serverList) server.close(); | 140 for (var server in serverList) server.close(); |
| 144 } | 141 } |
| 145 } | 142 } |
| OLD | NEW |