From 027ad4c1e61eb2d8d6f95bad95ea169a128bea20 Mon Sep 17 00:00:00 2001 From: andrewlalis Date: Mon, 13 Jan 2025 18:10:43 -0500 Subject: [PATCH] Added some documentation to readme, and url decoding --- README.md | 8 +++++++- source/handy_http_transport/http1/transport.d | 4 +++- source/handy_http_transport/http2/package.d | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) 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.