Chromium Code Reviews| Index: pkg/http_server/lib/src/virtual_directory.dart |
| diff --git a/pkg/http_server/lib/src/virtual_directory.dart b/pkg/http_server/lib/src/virtual_directory.dart |
| index 4b384668699a1f9276af2e47d7951309f8582ea6..3b72dc63d721116669b8e9f85aa78c78ecc2cc6d 100644 |
| --- a/pkg/http_server/lib/src/virtual_directory.dart |
| +++ b/pkg/http_server/lib/src/virtual_directory.dart |
| @@ -64,7 +64,7 @@ class VirtualDirectory { |
| return; |
| } |
| if (entity is File) { |
| - _serveFile(entity, request); |
| + serveFile(entity, request); |
| } else if (entity is Directory) { |
| _serveDirectory(entity, request); |
| } else { |
| @@ -141,7 +141,16 @@ class VirtualDirectory { |
| }); |
| } |
| - void _serveFile(File file, HttpRequest request) { |
| + /** |
| + * Serve the content of [file] to [request]. |
| + * |
| + * This is usefull when e.g. overriding [directoryHandler] to redirect to |
| + * some index file. |
| + * |
|
Søren Gjesse
2013/10/29 07:50:01
Please mention that this will handle the If-Modifi
Anders Johnsen
2013/10/29 10:17:22
Done.
|
| + * Note that if it was unabled to read from [file], the [request]s response |
| + * is closed with an appropriate error-code. |
|
Søren Gjesse
2013/10/29 07:50:01
Currently this seems to be always NOT_FOUND (404)
Anders Johnsen
2013/10/29 10:17:22
Done.
|
| + */ |
| + void serveFile(File file, HttpRequest request) { |
| var response = request.response; |
| // TODO(ajohnsen): Set up Zone support for these errors. |
| file.lastModified().then((lastModified) { |
| @@ -201,6 +210,7 @@ class VirtualDirectory { |
| .catchError((_) {}); |
| }); |
| }).catchError((_) { |
| + response.statusCode = HttpStatus.NOT_FOUND; |
| response.close(); |
| }); |
| } |