diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-18 10:40:23 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-18 10:40:23 +0000 |
| commit | 7235f2657fee344ebc0bbae539cc291b192bc37a (patch) | |
| tree | 41ceae1914c9bba73fa911f2c83414f90e44f0f5 /src/HttpHeader.cc | |
| parent | e1c1c010b877e3713743558a4abfb9854a0dabc3 (diff) | |
2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/HttpHeader.cc (get): Rewritten.
Diffstat (limited to 'src/HttpHeader.cc')
| -rw-r--r-- | src/HttpHeader.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/HttpHeader.cc b/src/HttpHeader.cc index 16a70357..9194c808 100644 --- a/src/HttpHeader.cc +++ b/src/HttpHeader.cc @@ -94,10 +94,17 @@ const std::string& HttpHeader::getFirst(const std::string& name) const { std::deque<std::string> HttpHeader::get(const std::string& name) const { std::deque<std::string> v; + std::string n(Util::toLower(name)); - for(std::multimap<std::string, std::string>::const_iterator i = table.find(n); - i != table.end() && (*i).first == n; ++i) { - v.push_back((*i).second); + + std::multimap<std::string, std::string>::const_iterator first = + table.lower_bound(n); + std::multimap<std::string, std::string>::const_iterator last = + table.upper_bound(n); + + while(first != last) { + v.push_back((*first).second); + ++first; } return v; } |
