commit | f2c645fb95d6098fb96c5419cc0b17dc3ca91e29 | [log] [tgz] |
---|---|---|
author | ajohnsen@google.com <ajohnsen@google.com> | Wed Sep 24 09:13:20 2014 +0000 |
committer | ajohnsen@google.com <ajohnsen@google.com> | Wed Sep 24 09:13:20 2014 +0000 |
tree | 1e3fa1306d6c79fabe727a1b79a5cf667f998f09 | |
parent | 4fd0c712b328f1957fdd78b1f32a3bd59a52a759 [diff] |
Clean up http_multi_server. BUG= R=lrn@google.com Review URL: https://codereview.chromium.org//597103002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40627 260f80e4-7a28-3924-810f-c04153c831b5
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!"); }); }); }