#include "HttpHeaders.h" #include namespace Http { HttpHeaders::HttpHeaders() { } HttpHeaders::~HttpHeaders() { } HttpHeaders::iterator HttpHeaders::begin() { return m_headers.begin(); } HttpHeaders::const_iterator HttpHeaders::begin() const { return m_headers.begin(); } HttpHeaders::iterator HttpHeaders::end() { return m_headers.end(); } HttpHeaders::const_iterator HttpHeaders::end() const { return m_headers.end(); } HttpHeaders::reference HttpHeaders::front() { return m_headers.front(); } HttpHeaders::const_reference HttpHeaders::front() const { return m_headers.front(); } HttpHeaders::reference HttpHeaders::back() { return m_headers.back(); } HttpHeaders::const_reference HttpHeaders::back() const { return m_headers.back(); } HttpHeaders::reference HttpHeaders::at(size_t n) { return m_headers.at(n); } HttpHeaders::const_reference HttpHeaders::at(size_t n) const { return m_headers.at(n); } HttpHeaders::reference HttpHeaders::operator[](size_t n) { return m_headers[n]; } HttpHeaders::const_reference HttpHeaders::operator[](size_t n) const { return m_headers[n]; } size_t HttpHeaders::size() const { return m_headers.size(); } bool HttpHeaders::empty() const { return m_headers.empty(); } void HttpHeaders::resize(size_t n, HttpHeader h) { m_headers.resize(n, h); } void HttpHeaders::push_back(const_reference h) { m_headers.push_back(h); } void HttpHeaders::pop_back() { m_headers.pop_back(); } int HttpHeaders::GetContentLength() const { std::vector::const_iterator iterator = std::find(begin(), end(), "Content-Length"); if (iterator != end()) return std::stoi(iterator->value); return 0; } std::string HttpHeaders::GetBoundary() const { std::vector::const_iterator iterator = std::find(begin(), end(), "Content-Type"); if (iterator != end()) { std::string boundaryHeader = "boundary"; std::string value = iterator->value; size_t location = value.find(boundaryHeader); if (location != std::string::npos) { location = value.find("=", location) + 1; return value.substr(location); } } return std::string(); } } // namespace Http