serve function

Future<HttpServer> serve(
  1. HttpsServer server, {
  2. Object address = '127.0.0.1',
  3. int port = 0,
  4. SecurityContext? securityContext,
  5. Duration requestTimeout = defaultRequestTimeout,
})

Bind address:port and answer every request with server.

Plain HTTP unless securityContext is given. The binding requires TLS in front of the receiver (§Abstract), which may equally be a reverse proxy.

Implementation

Future<HttpServer> serve(
  HttpsServer server, {
  Object address = '127.0.0.1',
  int port = 0,
  SecurityContext? securityContext,
  Duration requestTimeout = defaultRequestTimeout,
}) async {
  final http = securityContext == null
      ? await HttpServer.bind(address, port)
      : await HttpServer.bindSecure(address, port, securityContext);
  http.listen((request) {
    unawaited(
      handleIoRequest(server, request, requestTimeout: requestTimeout),
    );
  });
  return http;
}