Files
Http/Http/HttpHeaders.cpp
2020-02-10 20:33:22 +01:00

128 lines
2.1 KiB
C++

#include "HttpHeaders.h"
#include <algorithm>
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<HttpHeader>::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<HttpHeader>::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