migrate to null safety (dart-lang/http_multi_server#32)
diff --git a/pkgs/http_multi_server/.github/workflows/test-package.yml b/pkgs/http_multi_server/.github/workflows/test-package.yml
index 62d0d01..21a3c50 100644
--- a/pkgs/http_multi_server/.github/workflows/test-package.yml
+++ b/pkgs/http_multi_server/.github/workflows/test-package.yml
@@ -59,27 +59,3 @@
- name: Run VM tests
run: dart test --platform vm
if: always() && steps.install.outcome == 'success'
-
- # Run tests on a matrix consisting of two dimensions:
- # 1. OS: ubuntu-latest, (macos-latest, windows-latest)
- # 2. release: 2.1.1
- test-legacy-sdk:
- needs: analyze
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- # Add macos-latest and/or windows-latest if relevant for this package.
- os: [ubuntu-latest]
- sdk: [2.1.1]
- steps:
- - uses: actions/checkout@v2
- - uses: dart-lang/setup-dart@v0.3
- with:
- sdk: ${{ matrix.sdk }}
- - id: install
- name: Install dependencies
- run: pub get
- - name: Run VM tests
- run: pub run test --platform vm
- if: always() && steps.install.outcome == 'success'
diff --git a/pkgs/http_multi_server/CHANGELOG.md b/pkgs/http_multi_server/CHANGELOG.md
index 49d648b..5d90eaf 100644
--- a/pkgs/http_multi_server/CHANGELOG.md
+++ b/pkgs/http_multi_server/CHANGELOG.md
@@ -1,8 +1,10 @@
-## 2.2.1-dev
+## 3.0.0-dev
+
+* Migrate to null safety.
## 2.2.0
-- Preparation for [HttpHeaders change]. Update signature of `MultiHeaders.add()`
+* Preparation for [HttpHeaders change]. Update signature of `MultiHeaders.add()`
and `MultiHeaders.set()` to match new signature of `HttpHeaders`. The
parameter is not yet forwarded and will not behave as expected.
@@ -10,11 +12,10 @@
## 2.1.0
-- Add `HttpMultiServer.bind` static which centralizes logic around common local
+* Add `HttpMultiServer.bind` static which centralizes logic around common local
serving scenarios - handling a more flexible 'localhost' and listening on
'any' hostname.
-- Update SDK constraints to `>=2.1.0 <3.0.0`.
-
+* Update SDK constraints to `>=2.1.0 <3.0.0`.
## 2.0.6
diff --git a/pkgs/http_multi_server/lib/http_multi_server.dart b/pkgs/http_multi_server/lib/http_multi_server.dart
index 1ba0a2b..bd8a6a7 100644
--- a/pkgs/http_multi_server/lib/http_multi_server.dart
+++ b/pkgs/http_multi_server/lib/http_multi_server.dart
@@ -36,9 +36,10 @@
/// If the wrapped servers have different default values, it's not defined
/// which value is returned.
@override
- String get serverHeader => _servers.first.serverHeader;
+ String? get serverHeader => _servers.first.serverHeader;
+
@override
- set serverHeader(String value) {
+ set serverHeader(String? value) {
for (var server in _servers) {
server.serverHeader = value;
}
@@ -52,9 +53,9 @@
final HttpHeaders defaultResponseHeaders;
@override
- Duration get idleTimeout => _servers.first.idleTimeout;
+ Duration? get idleTimeout => _servers.first.idleTimeout;
@override
- set idleTimeout(Duration value) {
+ set idleTimeout(Duration? value) {
for (var server in _servers) {
server.idleTimeout = value;
}
@@ -105,9 +106,7 @@
///
/// See [HttpServer.bind].
static Future<HttpServer> loopback(int port,
- {int backlog, bool v6Only = false, bool shared = false}) {
- backlog ??= 0;
-
+ {int backlog = 0, bool v6Only = false, bool shared = false}) {
return _loopback(
port,
(address, port) => HttpServer.bind(address, port,
@@ -118,12 +117,10 @@
///
/// See [HttpServer.bindSecure].
static Future<HttpServer> loopbackSecure(int port, SecurityContext context,
- {int backlog,
+ {int backlog = 0,
bool v6Only = false,
bool requestClientCertificate = false,
bool shared = false}) {
- backlog ??= 0;
-
return _loopback(
port,
(address, port) => HttpServer.bindSecure(address, port, context,
@@ -162,9 +159,7 @@
/// [HttpServer.bindSecure].
static Future<HttpServer> _loopback(
int port, Future<HttpServer> Function(InternetAddress, int port) bind,
- [int remainingRetries]) async {
- remainingRetries ??= 5;
-
+ [int remainingRetries = 5]) async {
if (!await supportsIPv4) {
return await bind(InternetAddress.loopbackIPv6, port);
}
@@ -182,7 +177,7 @@
// rethrow.
await v4Server.close();
- if (error.osError.errorCode != _addressInUseErrno) rethrow;
+ if (error.osError?.errorCode != _addressInUseErrno) rethrow;
if (port != 0) rethrow;
if (remainingRetries == 0) rethrow;
diff --git a/pkgs/http_multi_server/lib/src/multi_headers.dart b/pkgs/http_multi_server/lib/src/multi_headers.dart
index 25807b0..92bfd64 100644
--- a/pkgs/http_multi_server/lib/src/multi_headers.dart
+++ b/pkgs/http_multi_server/lib/src/multi_headers.dart
@@ -29,45 +29,45 @@
}
@override
- ContentType get contentType => _headers.first.contentType;
+ ContentType? get contentType => _headers.first.contentType;
@override
- set contentType(ContentType value) {
+ set contentType(ContentType? value) {
for (var headers in _headers) {
headers.contentType = value;
}
}
@override
- DateTime get date => _headers.first.date;
+ DateTime? get date => _headers.first.date;
@override
- set date(DateTime value) {
+ set date(DateTime? value) {
for (var headers in _headers) {
headers.date = value;
}
}
@override
- DateTime get expires => _headers.first.expires;
+ DateTime? get expires => _headers.first.expires;
@override
- set expires(DateTime value) {
+ set expires(DateTime? value) {
for (var headers in _headers) {
headers.expires = value;
}
}
@override
- String get host => _headers.first.host;
+ String? get host => _headers.first.host;
@override
- set host(String value) {
+ set host(String? value) {
for (var headers in _headers) {
headers.host = value;
}
}
@override
- DateTime get ifModifiedSince => _headers.first.ifModifiedSince;
+ DateTime? get ifModifiedSince => _headers.first.ifModifiedSince;
@override
- set ifModifiedSince(DateTime value) {
+ set ifModifiedSince(DateTime? value) {
for (var headers in _headers) {
headers.ifModifiedSince = value;
}
@@ -83,9 +83,9 @@
}
@override
- int get port => _headers.first.port;
+ int? get port => _headers.first.port;
@override
- set port(int value) {
+ set port(int? value) {
for (var headers in _headers) {
headers.port = value;
}
@@ -133,10 +133,10 @@
}
@override
- String value(String name) => _headers.first.value(name);
+ String? value(String name) => _headers.first.value(name);
@override
- List<String> operator [](String name) => _headers.first[name];
+ List<String>? operator [](String name) => _headers.first[name];
@override
void clear() {
diff --git a/pkgs/http_multi_server/pubspec.yaml b/pkgs/http_multi_server/pubspec.yaml
index e93015c..3593fc1 100644
--- a/pkgs/http_multi_server/pubspec.yaml
+++ b/pkgs/http_multi_server/pubspec.yaml
@@ -1,17 +1,20 @@
name: http_multi_server
-version: 2.2.1-dev
+version: 3.0.0-dev
description: >-
A dart:io HttpServer wrapper that handles requests from multiple servers.
homepage: https://github.com/dart-lang/http_multi_server
environment:
- sdk: '>=2.1.1 <3.0.0'
+ sdk: '>=2.12.0-0 <3.0.0'
dependencies:
- async: '>=1.2.0 <3.0.0'
+ async: ^2.5.0
dev_dependencies:
- http: ^0.12.0
- pedantic: ^1.8.0
- test: ^1.5.2
+ http: ^0.13.0
+ pedantic: ^1.10.0
+ test: ^1.16.0
+
+dependency_overrides:
+ test: ^1.16.0
diff --git a/pkgs/http_multi_server/test/http_multi_server_test.dart b/pkgs/http_multi_server/test/http_multi_server_test.dart
index 2cbb984..749980e 100644
--- a/pkgs/http_multi_server/test/http_multi_server_test.dart
+++ b/pkgs/http_multi_server/test/http_multi_server_test.dart
@@ -13,9 +13,9 @@
void main() {
group('with multiple HttpServers', () {
var multiServer;
- HttpServer subServer1;
- HttpServer subServer2;
- HttpServer subServer3;
+ late HttpServer subServer1;
+ late HttpServer subServer2;
+ late HttpServer subServer3;
setUp(() {
return Future.wait([
HttpServer.bind('localhost', 0).then((server) => subServer1 = server),