diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-08-03 12:36:02 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-08-03 12:36:02 +0000 |
| commit | 9251b47f6cccc7cd5175ab6858c3330eb0752061 (patch) | |
| tree | abc942ea6adea78fcb3b97d47df801b5232a74fa /src/HttpHeader.cc | |
| parent | 928465b7bc638380004b39d6a5c6737f9f30faa0 (diff) | |
2006-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/Option.h
(getAsBool): New function.
* src/Option.cc
(prefs.h): Included.
(defined): 0-length value is now recognized as undefined.
(getAsInt): Rewritten.
(getAsLLInt): Rewritten.
(getAsBool): New function.
* src/FeatureConfig.h: Rewritten.
* src/FeatureConfig.cc: Rewritten.
* src/prefs.h
(PREF_STDOUT_LOG): New definition.
(PREF_LOG): New definition.
(PREF_DIR): New definition.
(PREF_OUT): New definition.
(PREF_SPLIT): New definition.
(PREF_DAEMON): New definition.
(PREF_REFERER): New definition.
(PREF_TORRENT_FILE): New definition.
(PREF_LISTEN_PORT): New definition.
(PREF_METALINK_FILE): New definition.
(PREF_METALINK_VERSION): New definition.
(PREF_METALINK_LANGUAGE): New definition.
(PREF_METALINK_OS): New definition.
(PREF_METALINK_SERVERS): New definition.
* src/main.cc
(main): Following command-line parameters are now put into
Option
class: stdoutLog, logfile, dir, ufilename, split, daemonMode,
referer, torrentFile, metalinkFile, listenPort, metalinkVersion,
metalinkLanguage, metalinkOs, metalinkServers
To fix the bug that aria2 can not handle http response header
properly.
* src/HttpHeader.cc
(put): Made name lowercased.
(defined): Made name lowercased.
(getFirst): Made name lowercased.
(get): Made name lowercased.
(getFirstAsInt): Rewritten.
(getFirstAsLLInt): Rewritten.
Diffstat (limited to 'src/HttpHeader.cc')
| -rw-r--r-- | src/HttpHeader.cc | 22 |
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); } } |
