commit | 98c2789fc1c47544afc8efbec5fa9c1499ecf5e2 | [log] [tgz] |
---|---|---|
author | Nate Bosch <nbosch1@gmail.com> | Wed Jan 29 10:04:05 2020 -0800 |
committer | GitHub <noreply@github.com> | Wed Jan 29 10:04:05 2020 -0800 |
tree | 12786a4ec3164881f0052a7cbc3fbf4d0d1c5998 | |
parent | 723dd58e2564606f0cfc50435ed05a51580ca401 [diff] |
Add preserveHeaderCase argument (#22) An upcoming SDK release will add a named argument which must be included for any class which `implements` the interface. Pre-emptively add the argument to the signature so that we have a version of this package which is forward compatible with the SDK. We will properly forward the argument once we have an SDK release with the change.
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!"); }); }