Fixed a port allocation bug.
Recover gracefully if a matching port is unavailable.
R=rnystrom@google.com
BUG=dartbug.com/22673
Review URL: https://codereview.chromium.org//993743002
3 files changed
tree: 8cfc337be73a6f649db40da005b00e0d9da8bfb6
- lib/
- test/
- .gitignore
- .status
- CHANGELOG.md
- codereview.settings
- LICENSE
- pubspec.yaml
- README.md
README.md
An implementation of dart:io
‘s HttpServer that wraps multiple servers and forwards methods to all of them. It’s useful for serving the same application on multiple network interfaces while still having a unified way of controlling the servers. In particular, it supports serving on both the IPv4 and IPv6 loopback addresses using HttpMultiServer.loopback.
import 'package:http_multi_server/http_multi_server.dart';
import 'package:shelf/shelf.dart' as shelf;
import 'package:shelf/shelf_io.dart' as shelf_io;
void main() {
// Both http://127.0.0.1:8080 and http://[::1]:8080 will be bound to the same
// server.
HttpMultiServer.loopback(8080).then((server) {
shelf_io.serveRequests(server, (request) {
return new shelf.Response.ok("Hello, world!");
});
});
}