diff options
Diffstat (limited to 'src/RequestResponse.cpp')
-rw-r--r-- | src/RequestResponse.cpp | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/src/RequestResponse.cpp b/src/RequestResponse.cpp index 2567253..803b432 100644 --- a/src/RequestResponse.cpp +++ b/src/RequestResponse.cpp @@ -1,6 +1,7 @@ #include "RequestResponse.hpp" -RequestResponse::RequestResponse(struct evhttp_request * const req) : m_Request(req) +RequestResponse::RequestResponse(char const * const uri_path, struct evhttp_request * const req) + : m_UriPath(uri_path), m_Request(req) { } @@ -18,18 +19,43 @@ void RequestResponse::UseOutputHeader() m_OutputHeader = evhttp_request_get_output_headers(m_Request); } -bool RequestResponse::AddOutputHeaderByRef(std::string & key, std::string & value) +bool RequestResponse::AddOutputHeaderByRef(std::string const & key, std::string const & value) { - return evhttp_add_header(m_OutputHeader, key.c_str(), value.c_str()); + if (m_OutputHeader == nullptr) + { + return false; + } + + return evhttp_add_header(m_OutputHeader, key.c_str(), value.c_str()) == 0; } -bool RequestResponse::AddOutputHeader(std::string key, std::string value) +bool RequestResponse::AddOutputHeader(std::string const key, std::string const value) { return AddOutputHeaderByRef(key, value); } -bool RequestResponse::GetInputHeaderByRef(std::string & key, std::string & value) +bool RequestResponse::RemoveOutputHeaderByRef(std::string const & key) +{ + if (m_OutputHeader == nullptr) + { + return false; + } + + return evhttp_remove_header(m_OutputHeader, key.c_str()) == 0; +} + +bool RequestResponse::RemoveOutputHeader(std::string const key) +{ + return RemoveOutputHeaderByRef(key); +} + +bool RequestResponse::GetInputHeaderByRef(std::string const & key, std::string & value) { + if (m_InputHeader == nullptr) + { + return false; + } + char const * const v = evhttp_find_header(m_InputHeader, key.c_str()); if (v == nullptr) @@ -41,7 +67,7 @@ bool RequestResponse::GetInputHeaderByRef(std::string & key, std::string & value return true; } -bool RequestResponse::GetInputHeader(std::string key, std::string value) +bool RequestResponse::GetInputHeader(std::string const key, std::string value) { - return GetInputHeader(key, value); + return GetInputHeaderByRef(key, value); } |