summaryrefslogtreecommitdiff
path: root/src/HttpHeader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/HttpHeader.cc')
-rw-r--r--src/HttpHeader.cc22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/HttpHeader.cc b/src/HttpHeader.cc
index fa61056c..8df150c9 100644
--- a/src/HttpHeader.cc
+++ b/src/HttpHeader.cc
@@ -20,18 +20,19 @@
*/
/* copyright --> */
#include "HttpHeader.h"
+#include "Util.h"
void HttpHeader::put(const string& name, const string& value) {
- multimap<string, string>::value_type vt(name, value);
+ multimap<string, string>::value_type vt(Util::toLower(name), value);
table.insert(vt);
}
bool HttpHeader::defined(const string& name) const {
- return table.count(name) == 1;
+ return table.count(Util::toLower(name)) >= 1;
}
string HttpHeader::getFirst(const string& name) const {
- multimap<string, string>::const_iterator itr = table.find(name);
+ multimap<string, string>::const_iterator itr = table.find(Util::toLower(name));
if(itr == table.end()) {
return "";
} else {
@@ -41,26 +42,21 @@ string HttpHeader::getFirst(const string& name) const {
Strings HttpHeader::get(const string& name) const {
Strings v;
- for(multimap<string, string>::const_iterator itr = table.find(name); itr != table.end(); itr++) {
+ for(multimap<string, string>::const_iterator itr = table.find(Util::toLower(name)); itr != table.end(); itr++) {
v.push_back((*itr).second);
}
return v;
}
int HttpHeader::getFirstAsInt(const string& name) const {
- multimap<string, string>::const_iterator itr = table.find(name);
- if(itr == table.end()) {
- return 0;
- } else {
- return (int)strtol((*itr).second.c_str(), NULL, 10);
- }
+ return (int)getFirstAsLLInt(name);
}
long long int HttpHeader::getFirstAsLLInt(const string& name) const {
- multimap<string, string>::const_iterator itr = table.find(name);
- if(itr == table.end()) {
+ string value = getFirst(name);
+ if(value == "") {
return 0;
} else {
- return strtoll((*itr).second.c_str(), NULL, 10);
+ return strtoll(value.c_str(), NULL, 10);
}
}