commit | 1c526c573717037d4458782f46d95fe260eee088 | [log] [tgz] |
---|---|---|
author | Sam Rawlins <srawlins@google.com> | Mon Sep 16 13:16:31 2019 -0700 |
committer | Sam Rawlins <srawlins@google.com> | Mon Sep 16 13:16:31 2019 -0700 |
tree | 08be8b5b87d5e462e11f301cf15a7f1cf650a6fe | |
parent | 416cf72bc7f4e0453155167edc29e97dce713bd7 [diff] |
Async/await
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() async { // Both http://127.0.0.1:8080 and http://[::1]:8080 will be bound to the same // server. var server = await HttpMultiServer.loopback(8080); shelf_io.serveRequests(server, (request) { return shelf.Response.ok("Hello, world!"); }); }