enable and fix a number of lints
diff --git a/analysis_options.yaml b/analysis_options.yaml
new file mode 100644
index 0000000..6f476fe
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1,44 @@
+include: package:pedantic/analysis_options.yaml
+analyzer:
+ strong-mode:
+ implicit-casts: false
+linter:
+ rules:
+ - avoid_empty_else
+ - avoid_init_to_null
+ - avoid_null_checks_in_equality_operators
+ - avoid_unused_constructor_parameters
+ - await_only_futures
+ - camel_case_types
+ - cancel_subscriptions
+ - constant_identifier_names
+ - control_flow_in_finally
+ - directives_ordering
+ - empty_catches
+ - empty_constructor_bodies
+ - empty_statements
+ - hash_and_equals
+ - implementation_imports
+ - iterable_contains_unrelated_type
+ - library_names
+ - library_prefixes
+ - list_remove_unrelated_type
+ - non_constant_identifier_names
+ - overridden_fields
+ - package_api_docs
+ - package_names
+ - package_prefixed_library_names
+ - prefer_equal_for_default_values
+ - prefer_final_fields
+ - prefer_generic_function_type_aliases
+ - prefer_is_not_empty
+ - slash_for_doc_comments
+ - super_goes_last
+ - test_types_in_equals
+ - throw_in_finally
+ - type_init_formals
+ - unnecessary_brace_in_string_interps
+ - unnecessary_const
+ - unnecessary_new
+ - unrelated_type_equality_checks
+ - valid_regexps
diff --git a/lib/http_multi_server.dart b/lib/http_multi_server.dart
index 309e57f..22c6d62 100644
--- a/lib/http_multi_server.dart
+++ b/lib/http_multi_server.dart
@@ -86,7 +86,7 @@
/// listened to when this is called.
HttpMultiServer(Iterable<HttpServer> servers)
: _servers = servers.toSet(),
- defaultResponseHeaders = new MultiHeaders(
+ defaultResponseHeaders = MultiHeaders(
servers.map((server) => server.defaultResponseHeaders)),
super(StreamGroup.merge(servers));
@@ -95,7 +95,7 @@
///
/// See [HttpServer.bind].
static Future<HttpServer> loopback(int port,
- {int backlog, bool v6Only: false, bool shared: false}) {
+ {int backlog, bool v6Only = false, bool shared = false}) {
if (backlog == null) backlog = 0;
return _loopback(
@@ -109,9 +109,9 @@
/// See [HttpServer.bindSecure].
static Future<HttpServer> loopbackSecure(int port, SecurityContext context,
{int backlog,
- bool v6Only: false,
- bool requestClientCertificate: false,
- bool shared: false}) {
+ bool v6Only = false,
+ bool requestClientCertificate = false,
+ bool shared = false}) {
if (backlog == null) backlog = 0;
return _loopback(
@@ -143,7 +143,7 @@
// Reuse the IPv4 server's port so that if [port] is 0, both servers use
// the same ephemeral port.
var v6Server = await bind(InternetAddress.loopbackIPv6, v4Server.port);
- return new HttpMultiServer([v4Server, v6Server]);
+ return HttpMultiServer([v4Server, v6Server]);
} on SocketException catch (error) {
if (error.osError.errorCode != _addressInUseErrno) rethrow;
if (port != 0) rethrow;
@@ -152,18 +152,18 @@
// A port being available on IPv4 doesn't necessarily mean that the same
// port is available on IPv6. If it's not (which is rare in practice),
// we try again until we find one that's available on both.
- v4Server.close();
+ await v4Server.close();
return await _loopback(port, bind, remainingRetries - 1);
}
}
- Future close({bool force: false}) =>
+ 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.
HttpConnectionsInfo connectionsInfo() {
- var info = new HttpConnectionsInfo();
+ var info = HttpConnectionsInfo();
for (var server in _servers) {
var subInfo = server.connectionsInfo();
info.total += subInfo.total;
diff --git a/lib/src/utils.dart b/lib/src/utils.dart
index 3d24a03..2709dab 100644
--- a/lib/src/utils.dart
+++ b/lib/src/utils.dart
@@ -9,7 +9,7 @@
final Future<bool> supportsIPv6 = () async {
try {
var socket = await ServerSocket.bind(InternetAddress.loopbackIPv6, 0);
- socket.close();
+ await socket.close();
return true;
} on SocketException catch (_) {
return false;
@@ -20,7 +20,7 @@
final Future<bool> supportsIPv4 = () async {
try {
var socket = await ServerSocket.bind(InternetAddress.loopbackIPv4, 0);
- socket.close();
+ await socket.close();
return true;
} on SocketException catch (_) {
return false;
diff --git a/pubspec.yaml b/pubspec.yaml
index 1bf6a8e..01fd07a 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -13,4 +13,5 @@
dev_dependencies:
http: ^0.12.0
+ pedantic: ^1.4.0
test: ^1.5.2
diff --git a/test/http_multi_server_test.dart b/test/http_multi_server_test.dart
index 9c7becf..a61212e 100644
--- a/test/http_multi_server_test.dart
+++ b/test/http_multi_server_test.dart
@@ -13,15 +13,15 @@
void main() {
group("with multiple HttpServers", () {
var multiServer;
- var subServer1;
- var subServer2;
- var subServer3;
+ HttpServer subServer1;
+ HttpServer subServer2;
+ HttpServer subServer3;
setUp(() {
return Future.wait([
HttpServer.bind("localhost", 0).then((server) => subServer1 = server),
HttpServer.bind("localhost", 0).then((server) => subServer2 = server),
HttpServer.bind("localhost", 0).then((server) => subServer3 = server)
- ]).then((servers) => multiServer = new HttpMultiServer(servers));
+ ]).then((servers) => multiServer = HttpMultiServer(servers));
});
tearDown(() => multiServer.close());
@@ -127,8 +127,8 @@
test("connectionsInfo sums the values for all servers", () {
var pendingRequests = 0;
- var awaitingResponseCompleter = new Completer();
- var sendResponseCompleter = new Completer();
+ var awaitingResponseCompleter = Completer();
+ var sendResponseCompleter = Completer();
multiServer.listen((request) {
sendResponseCompleter.future.then((_) {
request.response.write("got request");
@@ -159,7 +159,7 @@
group("HttpMultiServer.loopback", () {
var server;
setUp(() {
- return HttpMultiServer.loopback(0).then((server_) => server = server_);
+ return HttpMultiServer.loopback(0).then((s) => server = s);
});
tearDown(() => server.close());