| 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 builtin; | 5 library builtin; |
| 6 import 'dart:io'; | 6 import 'dart:io'; |
| 7 | 7 |
| 8 int _httpRequestResponseCode = 0; | 8 int _httpRequestResponseCode = 0; |
| 9 String _httpRequestStatusString; | 9 String _httpRequestStatusString; |
| 10 var _httpRequestResponse; | 10 var _httpRequestResponse; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 } | 66 } |
| 67 } | 67 } |
| 68 | 68 |
| 69 _setPackageRoot(String packageRoot) { | 69 _setPackageRoot(String packageRoot) { |
| 70 // TODO(mattsh) - refactor windows drive and path handling code | 70 // TODO(mattsh) - refactor windows drive and path handling code |
| 71 // so it can be used here if needed. | 71 // so it can be used here if needed. |
| 72 _packageRoot = packageRoot; | 72 _packageRoot = packageRoot; |
| 73 } | 73 } |
| 74 | 74 |
| 75 String _resolveScriptUri(String cwd, String scriptName, bool isWindows) { | 75 String _resolveScriptUri(String cwd, String scriptName, bool isWindows) { |
| 76 var scriptUri = Uri.parse(scriptName); |
| 77 if (scriptUri.scheme == 'http') { |
| 78 _entrypoint = scriptUri; |
| 79 _logResolution("# Resolved script to: $_entrypoint"); |
| 80 return _entrypoint.toString(); |
| 81 } |
| 76 _logResolution("# Current working directory: $cwd"); | 82 _logResolution("# Current working directory: $cwd"); |
| 77 _logResolution("# ScriptName: $scriptName"); | 83 _logResolution("# ScriptName: $scriptName"); |
| 78 if (isWindows) { | 84 if (isWindows) { |
| 79 // For Windows we need to massage the paths a bit according to | 85 // For Windows we need to massage the paths a bit according to |
| 80 // http://blogs.msdn.com/b/ie/archive/2006/12/06/file-uris-in-windows.aspx | 86 // http://blogs.msdn.com/b/ie/archive/2006/12/06/file-uris-in-windows.aspx |
| 81 // | 87 // |
| 82 // Convert | 88 // Convert |
| 83 // C:\one\two\three | 89 // C:\one\two\three |
| 84 // to | 90 // to |
| 85 // /C:/one/two/three | 91 // /C:/one/two/three |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 var wrong = 'package://$path'; | 195 var wrong = 'package://$path'; |
| 190 | 196 |
| 191 throw "URIs using the 'package:' scheme should look like " | 197 throw "URIs using the 'package:' scheme should look like " |
| 192 "'$right', not '$wrong'."; | 198 "'$right', not '$wrong'."; |
| 193 } | 199 } |
| 194 | 200 |
| 195 var path; | 201 var path; |
| 196 if (_packageRoot != null) { | 202 if (_packageRoot != null) { |
| 197 path = "${_packageRoot}${uri.path}"; | 203 path = "${_packageRoot}${uri.path}"; |
| 198 } else { | 204 } else { |
| 199 path = _entrypoint.resolve('packages/${uri.path}').path; | 205 if (_entrypoint.scheme == 'http') { |
| 206 path = _entrypoint.resolve('packages/${uri.path}').toString(); |
| 207 } else { |
| 208 path = _entrypoint.resolve('packages/${uri.path}').path; |
| 209 } |
| 200 } | 210 } |
| 201 | 211 |
| 202 _logResolution("# Package: $path"); | 212 _logResolution("# Package: $path"); |
| 203 return path; | 213 return path; |
| 204 } | 214 } |
| 205 | 215 |
| 206 String _filePathFromHttpUri(Uri uri) { | 216 String _filePathFromHttpUri(Uri uri) { |
| 207 _logResolution('# Path: $uri'); | 217 _logResolution('# Path: $uri'); |
| 208 return uri.toString(); | 218 return uri.toString(); |
| 209 } | 219 } |
| OLD | NEW |