diff --git a/net/http/request.ha b/net/http/request.ha index cb85a8c..acc56ae 100644 --- a/net/http/request.ha +++ b/net/http/request.ha @@ -149,7 +149,8 @@ export fn request_parse(file: io::handle) (request | protoerr | io::error) = { case let uri: authority => return errors::unsupported; case let uri: *uri::uri => yield uri; case let path: str => - const uri = fmt::asprintf("http:{}", path); + const host = header_get(&header, "Host"); + const uri = fmt::asprintf("http://{}{}", host, path); defer free(uri); yield alloc(uri::parse(uri)!); };