Index: pkg/http_multi_server/lib/http_multi_server.dart |
diff --git a/pkg/http_multi_server/lib/http_multi_server.dart b/pkg/http_multi_server/lib/http_multi_server.dart |
index 76c3eba1a43305d71ab71efc1535eadb3de48c7e..7075ab4736f0a80fd8567ad693bc5c09d2b50305 100644 |
--- a/pkg/http_multi_server/lib/http_multi_server.dart |
+++ b/pkg/http_multi_server/lib/http_multi_server.dart |
@@ -7,6 +7,7 @@ library http_multi_server; |
import 'dart:async'; |
import 'dart:io'; |
+import 'src/multi_headers.dart'; |
import 'src/utils.dart'; |
/// An implementation of `dart:io`'s [HttpServer] that wraps multiple servers |
@@ -20,6 +21,11 @@ class HttpMultiServer extends StreamView<HttpRequest> implements HttpServer { |
/// The wrapped servers. |
final Set<HttpServer> _servers; |
+ /// Returns the default value of the `Server` header for all responses |
+ /// generated by each server. |
+ /// |
+ /// If the wrapped servers have different default values, it's not defined |
+ /// which value is returned. |
String get serverHeader => _servers.first.serverHeader; |
set serverHeader(String value) { |
for (var server in _servers) { |
@@ -27,8 +33,11 @@ class HttpMultiServer extends StreamView<HttpRequest> implements HttpServer { |
} |
} |
- HttpHeaders get defaultResponseHeaders => |
- throw new UnsupportedError('defaultResponseHeaders not supported'); |
+ /// Returns the default set of headers added to all response objects. |
+ /// |
+ /// If the wrapped servers have different default headers, it's not defined |
+ /// which header is returned for accessor methods. |
+ final HttpHeaders defaultResponseHeaders; |
Duration get idleTimeout => _servers.first.idleTimeout; |
set idleTimeout(Duration value) { |
@@ -61,6 +70,8 @@ class HttpMultiServer extends StreamView<HttpRequest> implements HttpServer { |
/// listened to when this is called. |
HttpMultiServer(Iterable<HttpServer> servers) |
: _servers = servers.toSet(), |
+ defaultResponseHeaders = new MultiHeaders( |
+ servers.map((server) => server.defaultResponseHeaders)), |
super(mergeStreams(servers)); |
/// Creates an [HttpServer] listening on all available loopback addresses for |