Enforce override annotations (#14)
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 0711aca..8dfb3d0 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -8,6 +8,7 @@
- avoid_init_to_null
- avoid_null_checks_in_equality_operators
- avoid_unused_constructor_parameters
+ - annotate_overrides
- await_only_futures
- camel_case_types
- cancel_subscriptions
diff --git a/lib/http_multi_server.dart b/lib/http_multi_server.dart
index 562092d..d54022b 100644
--- a/lib/http_multi_server.dart
+++ b/lib/http_multi_server.dart
@@ -35,7 +35,9 @@
///
/// If the wrapped servers have different default values, it's not defined
/// which value is returned.
+ @override
String get serverHeader => _servers.first.serverHeader;
+ @override
set serverHeader(String value) {
for (var server in _servers) {
server.serverHeader = value;
@@ -46,16 +48,21 @@
///
/// If the wrapped servers have different default headers, it's not defined
/// which header is returned for accessor methods.
+ @override
final HttpHeaders defaultResponseHeaders;
+ @override
Duration get idleTimeout => _servers.first.idleTimeout;
+ @override
set idleTimeout(Duration value) {
for (var server in _servers) {
server.idleTimeout = value;
}
}
+ @override
bool get autoCompress => _servers.first.autoCompress;
+ @override
set autoCompress(bool value) {
for (var server in _servers) {
server.autoCompress = value;
@@ -66,14 +73,17 @@
///
/// If the wrapped servers are listening on different ports, it's not defined
/// which port is returned.
+ @override
int get port => _servers.first.port;
/// Returns the address that one of the wrapped servers is listening on.
///
/// If the wrapped servers are listening on different addresses, it's not
/// defined which address is returned.
+ @override
InternetAddress get address => _servers.first.address;
+ @override
set sessionTimeout(int value) {
for (var server in _servers) {
server.sessionTimeout = value;
@@ -160,11 +170,13 @@
}
}
+ @override
Future close({bool force = false}) =>
Future.wait(_servers.map((server) => server.close(force: force)));
/// Returns an HttpConnectionsInfo object summarizing the total number of
/// current connections handled by all the servers.
+ @override
HttpConnectionsInfo connectionsInfo() {
var info = HttpConnectionsInfo();
for (var server in _servers) {
diff --git a/lib/src/multi_headers.dart b/lib/src/multi_headers.dart
index 9267aee..d1dd93f 100644
--- a/lib/src/multi_headers.dart
+++ b/lib/src/multi_headers.dart
@@ -10,63 +10,81 @@
/// The wrapped headers.
final Set<HttpHeaders> _headers;
+ @override
bool get chunkedTransferEncoding => _headers.first.chunkedTransferEncoding;
+ @override
set chunkedTransferEncoding(bool value) {
for (var headers in _headers) {
headers.chunkedTransferEncoding = value;
}
}
+ @override
int get contentLength => _headers.first.contentLength;
+ @override
set contentLength(int value) {
for (var headers in _headers) {
headers.contentLength = value;
}
}
+ @override
ContentType get contentType => _headers.first.contentType;
+ @override
set contentType(ContentType value) {
for (var headers in _headers) {
headers.contentType = value;
}
}
+ @override
DateTime get date => _headers.first.date;
+ @override
set date(DateTime value) {
for (var headers in _headers) {
headers.date = value;
}
}
+ @override
DateTime get expires => _headers.first.expires;
+ @override
set expires(DateTime value) {
for (var headers in _headers) {
headers.expires = value;
}
}
+ @override
String get host => _headers.first.host;
+ @override
set host(String value) {
for (var headers in _headers) {
headers.host = value;
}
}
+ @override
DateTime get ifModifiedSince => _headers.first.ifModifiedSince;
+ @override
set ifModifiedSince(DateTime value) {
for (var headers in _headers) {
headers.ifModifiedSince = value;
}
}
+ @override
bool get persistentConnection => _headers.first.persistentConnection;
+ @override
set persistentConnection(bool value) {
for (var headers in _headers) {
headers.persistentConnection = value;
}
}
+ @override
int get port => _headers.first.port;
+ @override
set port(int value) {
for (var headers in _headers) {
headers.port = value;
@@ -75,43 +93,52 @@
MultiHeaders(Iterable<HttpHeaders> headers) : _headers = headers.toSet();
+ @override
void add(String name, Object value) {
for (var headers in _headers) {
headers.add(name, value);
}
}
+ @override
void forEach(void f(String name, List<String> values)) =>
_headers.first.forEach(f);
+ @override
void noFolding(String name) {
for (var headers in _headers) {
headers.noFolding(name);
}
}
+ @override
void remove(String name, Object value) {
for (var headers in _headers) {
headers.remove(name, value);
}
}
+ @override
void removeAll(String name) {
for (var headers in _headers) {
headers.removeAll(name);
}
}
+ @override
void set(String name, Object value) {
for (var headers in _headers) {
headers.set(name, value);
}
}
+ @override
String value(String name) => _headers.first.value(name);
+ @override
List<String> operator [](String name) => _headers.first[name];
+ @override
void clear() {
for (var headers in _headers) {
headers.clear();