Prepare for release, remove deprecated constants, support Dart 2 gold
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2372584..85a3c27 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 0.2.8
+
+* Update SDK constraint to `>=2.0.0-dev.61 <3.0.0`.
+
+* Directory listings are now sorted.
+
## 0.2.7+1
* Updated SDK version to 2.0.0-dev.17.0
diff --git a/analysis_options.yaml b/analysis_options.yaml
deleted file mode 100644
index a10d4c5..0000000
--- a/analysis_options.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-analyzer:
- strong-mode: true
diff --git a/lib/src/directory_listing.dart b/lib/src/directory_listing.dart
index 3e9e877..a598243 100644
--- a/lib/src/directory_listing.dart
+++ b/lib/src/directory_listing.dart
@@ -94,5 +94,6 @@
});
return new Response.ok(controller.stream,
- encoding: encoding, headers: {HttpHeaders.CONTENT_TYPE: 'text/html'});
+ encoding: encoding,
+ headers: {HttpHeaders.contentTypeHeader: 'text/html'});
}
diff --git a/lib/src/static_handler.dart b/lib/src/static_handler.dart
index afd42c8..b6131ea 100644
--- a/lib/src/static_handler.dart
+++ b/lib/src/static_handler.dart
@@ -189,12 +189,12 @@
}
var headers = {
- HttpHeaders.CONTENT_LENGTH: stat.size.toString(),
- HttpHeaders.LAST_MODIFIED: formatHttpDate(stat.changed)
+ HttpHeaders.contentLengthHeader: stat.size.toString(),
+ HttpHeaders.lastModifiedHeader: formatHttpDate(stat.changed)
};
var contentType = await getContentType();
- if (contentType != null) headers[HttpHeaders.CONTENT_TYPE] = contentType;
+ if (contentType != null) headers[HttpHeaders.contentTypeHeader] = contentType;
return new Response.ok(file.openRead(), headers: headers);
}
diff --git a/pubspec.yaml b/pubspec.yaml
index 8a8ec3b..b105264 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,10 +1,10 @@
name: shelf_static
-version: 0.2.7+1
+version: 0.2.8
author: Dart Team <misc@dartlang.org>
description: Static file server support for Shelf
homepage: https://github.com/dart-lang/shelf_static
environment:
- sdk: '>=2.0.0-dev.55.0 <2.0.0'
+ sdk: '>=2.0.0-dev.61.0 <3.0.0'
dependencies:
convert: '>=1.0.0 <3.0.0'
http_parser: '>=0.0.2+2 <4.0.0'
@@ -13,6 +13,6 @@
shelf: '>=0.5.7 <0.8.0'
dev_dependencies:
args: '^1.0.0'
- test: '>=0.12.0 <0.13.0'
+ test: '^1.2.0'
test_descriptor: '^1.0.0'
diff --git a/test/alternative_root_test.dart b/test/alternative_root_test.dart
index a1095a1..5f882aa 100644
--- a/test/alternative_root_test.dart
+++ b/test/alternative_root_test.dart
@@ -23,7 +23,7 @@
var response =
await makeRequest(handler, '/static/root.txt', handlerPath: 'static');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 8);
expect(response.readAsString(), completion('root txt'));
});
@@ -33,7 +33,7 @@
var response = await makeRequest(handler, '/static/files/with%20space.txt',
handlerPath: 'static');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 18);
expect(response.readAsString(), completion('with space content'));
});
@@ -43,7 +43,7 @@
var response = await makeRequest(handler, '/static/files/with%20space.txt',
handlerPath: 'static');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 18);
expect(response.readAsString(), completion('with space content'));
});
@@ -53,7 +53,7 @@
var response = await makeRequest(handler, '/static/files/test.txt',
handlerPath: 'static');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 16);
expect(response.readAsString(), completion('test txt content'));
});
@@ -63,6 +63,6 @@
var response = await makeRequest(handler, '/static/not_here.txt',
handlerPath: 'static');
- expect(response.statusCode, HttpStatus.NOT_FOUND);
+ expect(response.statusCode, HttpStatus.notFound);
});
}
diff --git a/test/basic_file_test.dart b/test/basic_file_test.dart
index 6b5e005..2b31dd6 100644
--- a/test/basic_file_test.dart
+++ b/test/basic_file_test.dart
@@ -43,7 +43,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/root.txt');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 8);
expect(response.readAsString(), completion('root txt'));
});
@@ -52,7 +52,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/files/with%20space.txt');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 18);
expect(response.readAsString(), completion('with space content'));
});
@@ -61,7 +61,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/files/with%20space.txt');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 18);
expect(response.readAsString(), completion('with space content'));
});
@@ -70,7 +70,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/files/test.txt');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 16);
expect(response.readAsString(), completion('test txt content'));
});
@@ -79,7 +79,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/not_here.txt');
- expect(response.statusCode, HttpStatus.NOT_FOUND);
+ expect(response.statusCode, HttpStatus.notFound);
});
test('last modified', () async {
@@ -99,10 +99,12 @@
var rootPath = p.join(d.sandbox, 'root.txt');
var modified = new File(rootPath).statSync().changed.toUtc();
- var headers = {HttpHeaders.IF_MODIFIED_SINCE: formatHttpDate(modified)};
+ var headers = {
+ HttpHeaders.ifModifiedSinceHeader: formatHttpDate(modified)
+ };
var response = await makeRequest(handler, '/root.txt', headers: headers);
- expect(response.statusCode, HttpStatus.NOT_MODIFIED);
+ expect(response.statusCode, HttpStatus.notModified);
expect(response.contentLength, 0);
});
@@ -113,12 +115,12 @@
var modified = new File(rootPath).statSync().changed.toUtc();
var headers = {
- HttpHeaders.IF_MODIFIED_SINCE:
+ HttpHeaders.ifModifiedSinceHeader:
formatHttpDate(modified.subtract(const Duration(seconds: 1)))
};
var response = await makeRequest(handler, '/root.txt', headers: headers);
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.lastModified, atSameTimeToSecond(modified));
});
@@ -129,12 +131,12 @@
var modified = new File(rootPath).statSync().changed.toUtc();
var headers = {
- HttpHeaders.IF_MODIFIED_SINCE:
+ HttpHeaders.ifModifiedSinceHeader:
formatHttpDate(modified.add(const Duration(seconds: 1)))
};
var response = await makeRequest(handler, '/root.txt', headers: headers);
- expect(response.statusCode, HttpStatus.NOT_MODIFIED);
+ expect(response.statusCode, HttpStatus.notModified);
expect(response.contentLength, 0);
});
});
diff --git a/test/create_file_handler_test.dart b/test/create_file_handler_test.dart
index 26a6da9..251f08f 100644
--- a/test/create_file_handler_test.dart
+++ b/test/create_file_handler_test.dart
@@ -20,7 +20,7 @@
test('serves the file contents', () async {
var handler = createFileHandler(p.join(d.sandbox, 'file.txt'));
var response = await makeRequest(handler, '/file.txt');
- expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.statusCode, equals(HttpStatus.ok));
expect(response.contentLength, equals(8));
expect(response.readAsString(), completion(equals('contents')));
});
@@ -28,14 +28,14 @@
test('serves a 404 for a non-matching URL', () async {
var handler = createFileHandler(p.join(d.sandbox, 'file.txt'));
var response = await makeRequest(handler, '/foo/file.txt');
- expect(response.statusCode, equals(HttpStatus.NOT_FOUND));
+ expect(response.statusCode, equals(HttpStatus.notFound));
});
test('serves the file contents under a custom URL', () async {
var handler =
createFileHandler(p.join(d.sandbox, 'file.txt'), url: 'foo/bar');
var response = await makeRequest(handler, '/foo/bar');
- expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.statusCode, equals(HttpStatus.ok));
expect(response.contentLength, equals(8));
expect(response.readAsString(), completion(equals('contents')));
});
@@ -44,21 +44,21 @@
var handler =
createFileHandler(p.join(d.sandbox, 'file.txt'), url: 'foo/bar');
var response = await makeRequest(handler, '/file.txt');
- expect(response.statusCode, equals(HttpStatus.NOT_FOUND));
+ expect(response.statusCode, equals(HttpStatus.notFound));
});
group('the content type header', () {
test('is inferred from the file path', () async {
var handler = createFileHandler(p.join(d.sandbox, 'file.txt'));
var response = await makeRequest(handler, '/file.txt');
- expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.statusCode, equals(HttpStatus.ok));
expect(response.mimeType, equals('text/plain'));
});
test("is omitted if it can't be inferred", () async {
var handler = createFileHandler(p.join(d.sandbox, 'random.unknown'));
var response = await makeRequest(handler, '/random.unknown');
- expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.statusCode, equals(HttpStatus.ok));
expect(response.mimeType, isNull);
});
@@ -66,7 +66,7 @@
var handler = createFileHandler(p.join(d.sandbox, 'file.txt'),
contentType: 'something/weird');
var response = await makeRequest(handler, '/file.txt');
- expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.statusCode, equals(HttpStatus.ok));
expect(response.mimeType, equals('something/weird'));
});
});
diff --git a/test/default_document_test.dart b/test/default_document_test.dart
index d7e2906..b7382d8 100644
--- a/test/default_document_test.dart
+++ b/test/default_document_test.dart
@@ -43,7 +43,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});
@@ -52,21 +52,21 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/');
- expect(response.statusCode, HttpStatus.NOT_FOUND);
+ expect(response.statusCode, HttpStatus.notFound);
});
test('access "/files"', () async {
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/files');
- expect(response.statusCode, HttpStatus.NOT_FOUND);
+ expect(response.statusCode, HttpStatus.notFound);
});
test('access "/files/" dir', () async {
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/files/');
- expect(response.statusCode, HttpStatus.NOT_FOUND);
+ expect(response.statusCode, HttpStatus.notFound);
});
});
@@ -76,7 +76,7 @@
createStaticHandler(d.sandbox, defaultDocument: 'index.html');
var response = await makeRequest(handler, '/index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
expect(response.mimeType, 'text/html');
@@ -87,7 +87,7 @@
createStaticHandler(d.sandbox, defaultDocument: 'index.html');
var response = await makeRequest(handler, '/');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
expect(response.mimeType, 'text/html');
@@ -98,9 +98,9 @@
createStaticHandler(d.sandbox, defaultDocument: 'index.html');
var response = await makeRequest(handler, '/files');
- expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
+ expect(response.statusCode, HttpStatus.movedPermanently);
expect(response.headers,
- containsPair(HttpHeaders.LOCATION, 'http://localhost/files/'));
+ containsPair(HttpHeaders.locationHeader, 'http://localhost/files/'));
});
test('access "/files/" dir', () async {
@@ -108,7 +108,7 @@
createStaticHandler(d.sandbox, defaultDocument: 'index.html');
var response = await makeRequest(handler, '/files/');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 31);
expect(response.readAsString(),
completion('<html><body>files</body></html>'));
diff --git a/test/directory_listing_test.dart b/test/directory_listing_test.dart
index c939c5f..2d1956b 100644
--- a/test/directory_listing_test.dart
+++ b/test/directory_listing_test.dart
@@ -25,7 +25,7 @@
var handler = createStaticHandler(d.sandbox, listDirectories: true);
var response = await makeRequest(handler, '/');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.readAsString(), completes);
});
@@ -33,16 +33,16 @@
var handler = createStaticHandler(d.sandbox, listDirectories: true);
var response = await makeRequest(handler, '/files');
- expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
+ expect(response.statusCode, HttpStatus.movedPermanently);
expect(response.headers,
- containsPair(HttpHeaders.LOCATION, 'http://localhost/files/'));
+ containsPair(HttpHeaders.locationHeader, 'http://localhost/files/'));
});
test('access "/files/"', () async {
var handler = createStaticHandler(d.sandbox, listDirectories: true);
var response = await makeRequest(handler, '/files/');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.readAsString(), completes);
});
@@ -50,18 +50,18 @@
var handler = createStaticHandler(d.sandbox, listDirectories: true);
var response = await makeRequest(handler, '/files/empty subfolder');
- expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
+ expect(response.statusCode, HttpStatus.movedPermanently);
expect(
response.headers,
- containsPair(
- HttpHeaders.LOCATION, 'http://localhost/files/empty%20subfolder/'));
+ containsPair(HttpHeaders.locationHeader,
+ 'http://localhost/files/empty%20subfolder/'));
});
test('access "/files/empty subfolder/"', () async {
var handler = createStaticHandler(d.sandbox, listDirectories: true);
var response = await makeRequest(handler, '/files/empty subfolder/');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.readAsString(), completes);
});
}
diff --git a/test/symbolic_link_test.dart b/test/symbolic_link_test.dart
index 8a95288..4b9d81d 100644
--- a/test/symbolic_link_test.dart
+++ b/test/symbolic_link_test.dart
@@ -37,7 +37,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/originals/index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});
@@ -47,7 +47,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/link_index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});
@@ -56,7 +56,7 @@
var handler = createStaticHandler(d.sandbox);
var response = await makeRequest(handler, '/link_dir/index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});
@@ -67,14 +67,14 @@
var handler = createStaticHandler(p.join(d.sandbox, 'alt_root'));
var response = await makeRequest(handler, '/link_index.html');
- expect(response.statusCode, HttpStatus.NOT_FOUND);
+ expect(response.statusCode, HttpStatus.notFound);
});
test('access file in sym linked dir', () async {
var handler = createStaticHandler(p.join(d.sandbox, 'alt_root'));
var response = await makeRequest(handler, '/link_dir/index.html');
- expect(response.statusCode, HttpStatus.NOT_FOUND);
+ expect(response.statusCode, HttpStatus.notFound);
});
});
});
@@ -84,7 +84,7 @@
var handler = createStaticHandler(d.sandbox, serveFilesOutsidePath: true);
var response = await makeRequest(handler, '/originals/index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});
@@ -95,7 +95,7 @@
createStaticHandler(d.sandbox, serveFilesOutsidePath: true);
var response = await makeRequest(handler, '/link_index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});
@@ -105,7 +105,7 @@
createStaticHandler(d.sandbox, serveFilesOutsidePath: true);
var response = await makeRequest(handler, '/link_dir/index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});
@@ -117,7 +117,7 @@
serveFilesOutsidePath: true);
var response = await makeRequest(handler, '/link_index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});
@@ -127,7 +127,7 @@
serveFilesOutsidePath: true);
var response = await makeRequest(handler, '/link_dir/index.html');
- expect(response.statusCode, HttpStatus.OK);
+ expect(response.statusCode, HttpStatus.ok);
expect(response.contentLength, 13);
expect(response.readAsString(), completion('<html></html>'));
});