Commit 2f7bd50e authored by cyremur's avatar cyremur Committed by octal

add AccessControlAllowOrigin header implementation

parent 96e22530
/* http_header.h
Mathieu Stefani, 19 August 2015
Declaration of common http headers
*/
......@@ -160,6 +160,32 @@ private:
std::vector<Mime::MediaType> mediaRange_;
};
class AccessControlAllowOrigin : public Header {
public:
NAME("Access-Control-Allow-Origin")
AccessControlAllowOrigin() { }
explicit AccessControlAllowOrigin(const char* uri)
: uri_(uri)
{ }
explicit AccessControlAllowOrigin(const std::string& uri)
: uri_(uri)
{ }
void parse(const std::string& data);
void write(std::ostream& os) const;
void setUri(std::string uri) {
uri_ = std::move(uri);
}
std::string uri() const { return uri_; }
private:
std::string uri_;
};
class CacheControl : public Header {
public:
NAME("Cache-Control")
......
/* http_headers.h
Mathieu Stefani, 19 August 2015
A list of HTTP headers
*/
......
/* http_header.cc
Mathieu Stefani, 19 August 2015
Implementation of common HTTP headers described by the RFC
*/
......@@ -418,6 +418,16 @@ void
Accept::write(std::ostream& os) const {
}
void
AccessControlAllowOrigin::parse(const std::string& data) {
uri_ = data;
}
void
AccessControlAllowOrigin::write(std::ostream& os) const {
os << uri_;
}
void
EncodingHeader::parseRaw(const char* str, size_t len) {
// TODO: case-insensitive
......
/* http_headers.cc
Mathieu Stefani, 19 August 2015
Headers registry
*/
......@@ -20,6 +20,7 @@ namespace {
}
RegisterHeader(Accept);
RegisterHeader(AccessControlAllowOrigin);
RegisterHeader(Allow);
RegisterHeader(CacheControl);
RegisterHeader(Connection);
......@@ -76,7 +77,7 @@ Registry::isRegistered(const std::string& name) {
Collection&
Collection::add(const std::shared_ptr<Header>& header) {
headers.insert(std::make_pair(header->name(), header));
return *this;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment