<itemvalue="If an IP version 6 (IPv6) address is used, both IP version 6 (IPv6) and version 4 (IPv4) connections will be accepted. To restrict this to version 6 (IPv6) only, use [v6Only] to set version 6 only. However, if the address is [InternetAddress.loopbackIPv6], only IP version 6 (IPv6) connections will be accepted."/>
<itemvalue="If [port] has the value 0 an ephemeral port will be chosen by the system. The actual port used can be retrieved using the [port] getter."/>
<itemvalue="The optional argument [backlog] can be used to specify the listen backlog for the underlying OS listen setup. If [backlog] has the value of 0 (the default) a reasonable value will be chosen by the system."/>
<itemvalue="The optional argument [shared] specifies whether additional `HttpServer` objects can bind to the same combination of `address`, `port` and `v6Only`. If `shared` is `true` and more `HttpServer`s from this isolate or other isolates are bound to the port, then the incoming connections will be distributed among all the bound `HttpServer`s. Connections can be distributed over multiple isolates this way."/>
<itemvalue="Looks up the addresses of a host. If [type] is [InternetAddressType.any], it will lookup both IP version 4 (IPv4) and IP version 6 (IPv6) addresses. If [type] is either [InternetAddressType.IPv4] or [InternetAddressType.IPv6] it will only lookup addresses of the specified type. The order of the list can, and most likely will, change over time."/>
<itemvalue="Handles errors emitted by this [Future]. This is the asynchronous equivalent of a "catch" block. Returns a new [Future] that will be completed with either the result of this future or the result of calling the `onError` callback. If this future completes with a value, the returned future completes with the same value. If this future completes with an error, then [test] is first called with the error value. If `test` returns false, the exception is not handled by this `catchError`, and the returned future completes with the same error and stack trace as this future. If `test` returns `true`, [onError] is called with the error and possibly stack trace, and the returned future is completed with the result of this call in exactly the same way as for [then]'s `onError`. If `test` is omitted, it defaults to a function that always returns true. The `test` function should not throw, but if it does, it is handled as if the `onError` function had thrown. Note that futures don't delay reporting of errors until listeners are added. If the first `catchError` (or `then`) call happens after this future has completed with an error then the error is reported as unhandled error. See the description on [Future]. Example: ```dart Future.delayed( const Duration(seconds: 1), () => throw 401, ).then((value) { throw 'Unreachable'; }).catchError((err) { print('Error: err'); Prints 401. }, test: (error) { return error is int && error >= 400; }); ``` The `Function` below stands for one of two types: - (dynamic) -> FutureOr<T> - (dynamic, StackTrace) -> FutureOr<T> Given that there is a `test` function that is usually used to do an `is` check, we should also expect functions that take a specific argument."/>
<itemvalue="If `test` returns `true`, [onError] is called with the error and possibly stack trace, and the returned future is completed with the result of this call in exactly the same way as for [then]'s `onError`."/>
<itemvalue="If `test` is omitted, it defaults to a function that always returns true. The `test` function should not throw, but if it does, it is handled as if the `onError` function had thrown."/>