diff options
Diffstat (limited to 'src/RequestResponse.cpp')
-rw-r--r-- | src/RequestResponse.cpp | 47 |
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); +} |