diff --git a/README.md b/README.md index 37540cd..4a99198 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # http-transport -Implementations of HTTP transport protocols, compatible with other Handy-Http components. +This library provides implementations of various versions of HTTP transport, +acting as a "glue" for connecting clients and servers. Practically speaking, +the handy-http-transport library provides HTTP server implementations you can +use interchangeably with other handy-http libraries. + +For now, see the section on HTTP/1.1, as that's the only HTTP version +implemented so far. ## HTTP/1.1 diff --git a/source/handy_http_transport/http1/transport.d b/source/handy_http_transport/http1/transport.d index e776dae..aef01fc 100644 --- a/source/handy_http_transport/http1/transport.d +++ b/source/handy_http_transport/http1/transport.d @@ -159,11 +159,13 @@ HttpRequestParseResult readHttpRequest(S)(S inputStream, in ClientAddress addr) auto headersResult = parseHeaders(inputStream); if (headersResult.hasError) return HttpRequestParseResult(headersResult.error); + import std.uri : decode; // TODO: Remove dependency on phobos for this? + return HttpRequestParseResult(ServerHttpRequest( httpVersion, addr, methodStr.value, - urlStr.value, + decode(urlStr.value), headersResult.headers, inputStreamObjectFor(inputStream) )); diff --git a/source/handy_http_transport/http2/package.d b/source/handy_http_transport/http2/package.d index 6b9a709..64db19a 100644 --- a/source/handy_http_transport/http2/package.d +++ b/source/handy_http_transport/http2/package.d @@ -1,2 +1,3 @@ module handy_http_transport.http2; +// Not yet implemented.