Add HttpServer:autoCompress option, to disable auto gzip compression.
BUG=
R=lrn@google.com, sgjesse@google.com
Review URL: https://codereview.chromium.org//598453003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40587 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 05f2f2c..f3d79a3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.3.0
+
+* Add support for `HttpServer.autoCompress`.
+
## 1.2.0
* Add support for `HttpServer.defaultResponseHeaders.clear`.
diff --git a/lib/http_multi_server.dart b/lib/http_multi_server.dart
index 7075ab4..01e3ca8 100644
--- a/lib/http_multi_server.dart
+++ b/lib/http_multi_server.dart
@@ -46,6 +46,13 @@
}
}
+ bool get autoCompress => _servers.first.autoCompress;
+ set autoCompress(bool value) {
+ for (var server in _servers) {
+ server.autoCompress = value;
+ }
+ }
+
/// Returns the port that one of the wrapped servers is listening on.
///
/// If the wrapped servers are listening on different ports, it's not defined
diff --git a/pubspec.yaml b/pubspec.yaml
index b1b2830..3d92710 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: http_multi_server
-version: 1.2.0
+version: 1.3.0-dev
author: "Dart Team <misc@dartlang.org>"
homepage: http://www.dartlang.org
description:
diff --git a/test/http_multi_server_test.dart b/test/http_multi_server_test.dart
index 0371c89..f74f359 100644
--- a/test/http_multi_server_test.dart
+++ b/test/http_multi_server_test.dart
@@ -58,6 +58,27 @@
expect(_get(subServer3).then((response) {
expect(response.headers['server'], equals("http_multi_server test"));
}), completes);
+ }
+ );
+ test("autoCompress= sets the value for all servers", () {
+ multiServer.autoCompress = true;
+
+ multiServer.listen((request) {
+ request.response.write("got request");
+ request.response.close();
+ });
+
+ expect(_get(subServer1).then((response) {
+ expect(response.headers['content-encoding'], equals("gzip"));
+ }), completes);
+
+ expect(_get(subServer2).then((response) {
+ expect(response.headers['content-encoding'], equals("gzip"));
+ }), completes);
+
+ expect(_get(subServer3).then((response) {
+ expect(response.headers['content-encoding'], equals("gzip"));
+ }), completes);
});
test("headers.set sets the value for all servers", () {