From e0aa767f9428eb34a7ab7c1169c1ecc55262dade Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Tue, 21 Feb 2006 12:28:42 +0000 Subject: --- src/HttpHeader.cc | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/HttpHeader.cc (limited to 'src/HttpHeader.cc') diff --git a/src/HttpHeader.cc b/src/HttpHeader.cc new file mode 100644 index 00000000..eb80cf5b --- /dev/null +++ b/src/HttpHeader.cc @@ -0,0 +1,66 @@ +/* */ +#include "HttpHeader.h" + +void HttpHeader::put(const string& name, const string& value) { + multimap::value_type vt(name, value); + table.insert(vt); +} + +bool HttpHeader::defined(const string& name) const { + return table.count(name) == 1; +} + +string HttpHeader::getFirst(const string& name) const { + multimap::const_iterator itr = table.find(name); + if(itr == table.end()) { + return ""; + } else { + return (*itr).second; + } +} + +vector HttpHeader::get(const string& name) const { + vector v; + for(multimap::const_iterator itr = table.find(name); itr != table.end(); itr++) { + v.push_back((*itr).second); + } + return v; +} + +int HttpHeader::getFirstAsInt(const string& name) const { + multimap::const_iterator itr = table.find(name); + if(itr == table.end()) { + return 0; + } else { + return (int)strtol((*itr).second.c_str(), NULL, 10); + } +} + +long long int HttpHeader::getFirstAsLLInt(const string& name) const { + multimap::const_iterator itr = table.find(name); + if(itr == table.end()) { + return 0; + } else { + return strtoll((*itr).second.c_str(), NULL, 10); + } +} -- cgit