mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Merge pull request #117 from CodeShark/websocket_header_case
Conventional capitalization in HTTP headers when doing websockets handshake. headers, leniency when reading.
This commit is contained in:
@@ -83,7 +83,12 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string header(const std::string& key) const {
|
std::string header(const std::string& key) const {
|
||||||
header_list::const_iterator h = m_headers.find(tolower(key));
|
header_list::const_iterator h = m_headers.find(key);
|
||||||
|
if (h != m_headers.end()) {
|
||||||
|
return h->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
h = m_headers.find(tolower(key));
|
||||||
|
|
||||||
if (h == m_headers.end()) {
|
if (h == m_headers.end()) {
|
||||||
return "";
|
return "";
|
||||||
@@ -97,18 +102,18 @@ public:
|
|||||||
void add_header(const std::string &key, const std::string &val) {
|
void add_header(const std::string &key, const std::string &val) {
|
||||||
// TODO: prevent use of reserved headers?
|
// TODO: prevent use of reserved headers?
|
||||||
if (this->header(key) == "") {
|
if (this->header(key) == "") {
|
||||||
m_headers[tolower(key)] = val;
|
m_headers[key] = val;
|
||||||
} else {
|
} else {
|
||||||
m_headers[tolower(key)] += ", " + val;
|
m_headers[key] += ", " + val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void replace_header(const std::string &key, const std::string &val) {
|
void replace_header(const std::string &key, const std::string &val) {
|
||||||
m_headers[tolower(key)] = val;
|
m_headers[key] = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
void remove_header(const std::string &key) {
|
void remove_header(const std::string &key) {
|
||||||
m_headers.erase(tolower(key));
|
m_headers.erase(key);
|
||||||
}
|
}
|
||||||
protected:
|
protected:
|
||||||
bool parse_headers(std::istream& s) {
|
bool parse_headers(std::istream& s) {
|
||||||
|
|||||||
Reference in New Issue
Block a user