aboutsummaryrefslogtreecommitdiff
path: root/src/RequestResponse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/RequestResponse.cpp')
-rw-r--r--src/RequestResponse.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/RequestResponse.cpp b/src/RequestResponse.cpp
new file mode 100644
index 0000000..2567253
--- /dev/null
+++ b/src/RequestResponse.cpp
@@ -0,0 +1,47 @@
+#include "RequestResponse.hpp"
+
+RequestResponse::RequestResponse(struct evhttp_request * const req) : m_Request(req)
+{
+}
+
+RequestResponse::~RequestResponse()
+{
+}
+
+void RequestResponse::UseInputHeader()
+{
+ m_InputHeader = evhttp_request_get_input_headers(m_Request);
+}
+
+void RequestResponse::UseOutputHeader()
+{
+ m_OutputHeader = evhttp_request_get_output_headers(m_Request);
+}
+
+bool RequestResponse::AddOutputHeaderByRef(std::string & key, std::string & value)
+{
+ return evhttp_add_header(m_OutputHeader, key.c_str(), value.c_str());
+}
+
+bool RequestResponse::AddOutputHeader(std::string key, std::string value)
+{
+ return AddOutputHeaderByRef(key, value);
+}
+
+bool RequestResponse::GetInputHeaderByRef(std::string & key, std::string & value)
+{
+ char const * const v = evhttp_find_header(m_InputHeader, key.c_str());
+
+ if (v == nullptr)
+ {
+ return false;
+ }
+
+ value = v;
+ return true;
+}
+
+bool RequestResponse::GetInputHeader(std::string key, std::string value)
+{
+ return GetInputHeader(key, value);
+}