Jan-Erik Rediger
53a13840bd
Previously this would lead to an abort for an empty path (`/`), because `http:/` cannot be parsed correctly. The URI becomes the `target` in `request`, so it seems best to add the `Host` header value too. Note that this is still not 100% correct: HTTP headers are case-insensitive, so it could also be `host:` or `HoSt`. Right now headers are not normalized. However it will not abort if `Host` is missing: In that case `header_get` returns an empty string and then `http:///` (three slashes) is parsed with an empty host name as expected. |
||
---|---|---|
.. | ||
client.ha | ||
constants.ha | ||
do.ha | ||
error.ha | ||
header.ha | ||
README | ||
request.ha | ||
response.ha | ||
server.ha | ||
status.ha | ||
transport.ha |
net::http provides an implementation of an HTTP 1.1 client and server as defined by RFC 9110 et al. TODO: Flesh me out Caveats: - No attempt is made to validate that the input for client requests or responses are valid according to the HTTP grammar; such cases will fail when rejected by the other party. - Details indicated by RFC 7230 et al as "obsolete" are not implemented - Max header length including "name: value" is 4KiB TODO: - Server stuff - TLS