aboutsummaryrefslogtreecommitdiff
path: root/zenhttp/httpsys.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-10-14 19:07:14 +0200
committerGitHub <[email protected]>2021-10-14 19:07:14 +0200
commit2b71d6a8d57c773bc7734b253a1ffd1e47162184 (patch)
treec0c70f9f2f8b9dc895080aac9f7de1140c56ebf0 /zenhttp/httpsys.cpp
parentMerge branch 'main' of https://github.com/EpicGames/zen (diff)
downloadzen-2b71d6a8d57c773bc7734b253a1ffd1e47162184.tar.xz
zen-2b71d6a8d57c773bc7734b253a1ffd1e47162184.zip
asio HTTP implementation (#23)
asio-based HTTP implementation
Diffstat (limited to 'zenhttp/httpsys.cpp')
-rw-r--r--zenhttp/httpsys.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/zenhttp/httpsys.cpp b/zenhttp/httpsys.cpp
index f550f1f4c..0a9341d0c 100644
--- a/zenhttp/httpsys.cpp
+++ b/zenhttp/httpsys.cpp
@@ -194,9 +194,11 @@ public:
HttpSysServerRequest(const HttpSysServerRequest&) = delete;
HttpSysServerRequest& operator=(const HttpSysServerRequest&) = delete;
- HttpSysTransaction& m_HttpTx;
- HttpSysRequestHandler* m_NextCompletionHandler = nullptr;
- IoBuffer m_PayloadBuffer;
+ HttpSysTransaction& m_HttpTx;
+ HttpSysRequestHandler* m_NextCompletionHandler = nullptr;
+ IoBuffer m_PayloadBuffer;
+ ExtendableStringBuilder<128> m_UriUtf8;
+ ExtendableStringBuilder<128> m_QueryStringUtf8;
};
/** HTTP transaction
@@ -1252,6 +1254,8 @@ HttpSysServerRequest::HttpSysServerRequest(HttpSysTransaction& Tx, HttpService&
m_UriUtf8.Reset();
}
+ m_Uri = std::string_view(m_UriUtf8);
+
if (uint16_t QueryStringLength = HttpRequestPtr->CookedUrl.QueryStringLength)
{
--QueryStringLength; // We skip the leading question mark
@@ -1263,6 +1267,8 @@ HttpSysServerRequest::HttpSysServerRequest(HttpSysTransaction& Tx, HttpService&
m_QueryStringUtf8.Reset();
}
+ m_QueryString = std::string_view(m_QueryStringUtf8);
+
m_Verb = TranslateHttpVerb(HttpRequestPtr->Verb);
m_ContentLength = GetContentLength(HttpRequestPtr);
m_ContentType = GetContentType(HttpRequestPtr);