Commit 77517298 authored by cyremur's avatar cyremur

add AccessControlAllowOrigin header implementation

parent 2e1dd87a
/* http_header.h
Mathieu Stefani, 19 August 2015
Declaration of common http headers
*/
......@@ -161,6 +161,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")
......@@ -442,4 +468,3 @@ private:
} // namespace Http
} // namespace Net
/* 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
*/
......@@ -419,6 +419,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
*/
......@@ -21,6 +21,7 @@ namespace {
}
RegisterHeader(Accept);
RegisterHeader(AccessControlAllowOrigin);
RegisterHeader(Allow);
RegisterHeader(CacheControl);
RegisterHeader(Connection);
......@@ -77,7 +78,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