Update loopback constructors to match dart:io.
Closes #1
R=rnystrom@google.com
Review URL: https://codereview.chromium.org//1508203004 .
diff --git a/CHANGELOG.md b/CHANGELOG.md
index df1b863..1db0a15 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,13 @@
+## 2.0.0
+
+* **Breaking:** Change the signature of `HttpMultiServer.loopbackSecure()` to
+ match the new Dart 1.13 `HttpServer.bindSecure()` signature. This removes the
+ `certificateName` named parameter and adds the required `context` parameter
+ and the named `v6Only` and `shared` parameters.
+
+* Added `v6Only` and `shared` parameters to `HttpMultiServer.loopback()` to
+ match `HttpServer.bind()`.
+
## 1.3.2
* Eventually stop retrying port allocation if it fails repeatedly.
diff --git a/lib/http_multi_server.dart b/lib/http_multi_server.dart
index abad76e..12b6e40 100644
--- a/lib/http_multi_server.dart
+++ b/lib/http_multi_server.dart
@@ -93,33 +93,27 @@
/// Creates an [HttpServer] listening on all available loopback addresses for
/// this computer.
///
- /// If this computer supports both IPv4 and IPv6, this returns an
- /// [HttpMultiServer] listening to [port] on both loopback addresses.
- /// Otherwise, it returns a normal [HttpServer] listening only on the IPv4
- /// address.
- ///
- /// If [port] is 0, the same ephemeral port is used for both the IPv4 and IPv6
- /// addresses.
- static Future<HttpServer> loopback(int port, {int backlog}) {
+ /// See [HttpServer.bind].
+ static Future<HttpServer> loopback(int port, {int backlog, bool v6Only: false,
+ bool shared: false}) {
if (backlog == null) backlog = 0;
return _loopback(port, (address, port) =>
- HttpServer.bind(address, port, backlog: backlog));
+ HttpServer.bind(address, port,
+ backlog: backlog, v6Only: v6Only, shared: shared));
}
/// Like [loopback], but supports HTTPS requests.
///
- /// The certificate with nickname or distinguished name (DN) [certificateName]
- /// is looked up in the certificate database, and is used as the server
- /// certificate. If [requestClientCertificate] is true, the server will
- /// request clients to authenticate with a client certificate.
- static Future<HttpServer> loopbackSecure(int port, {int backlog,
- String certificateName, bool requestClientCertificate: false}) {
+ /// See [HttpServer.bindSecure].
+ static Future<HttpServer> loopbackSecure(int port, SecurityContext context,
+ {int backlog, bool v6Only: false, bool requestClientCertificate: false,
+ bool shared: false}) {
if (backlog == null) backlog = 0;
return _loopback(port, (address, port) =>
- HttpServer.bindSecure(address, port, backlog: backlog,
- certificateName: certificateName,
+ HttpServer.bindSecure(address, port, context,
+ backlog: backlog, v6Only: v6Only, shared: shared,
requestClientCertificate: requestClientCertificate));
}
diff --git a/pubspec.yaml b/pubspec.yaml
index e6f9a97..44daa8f 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: http_multi_server
-version: 1.3.3-dev
+version: 2.0.0
author: "Dart Team <misc@dartlang.org>"
homepage: http://github.com/dart-lang/http_multi_server
description:
@@ -8,4 +8,4 @@
test: ">=0.12.0 <0.13.0"
http: ">=0.11.0 <0.12.0"
environment:
- sdk: ">=1.7.0-edge.40587 <2.0.0"
+ sdk: ">=1.13.0 <2.0.0"