diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-20 06:30:44 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-20 06:30:44 +0000 |
| commit | 3eb74629cbd0f01113bc581d486a8ec95633b4ad (patch) | |
| tree | 53028931fb30d824e2226e6cfef6c51c9863c120 /src/HttpRequest.cc | |
| parent | c1c5e7369f77a1125b12ac58b8b30378858d9317 (diff) | |
2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --header option. You can specify any number of additional
HTTP headers
like:
aria2 --header="X-A: 300" --header="X-B: 900" http://host/file
Unlike other commad-line option, you can use --header option
multiple times.
* src/HelpItemFactory.cc
* src/HttpRequest.{cc, h}
* src/HttpRequestCommand.cc
* src/OptionHandlerFactory.cc
* src/OptionHandlerImpl.h
* src/option_processing.cc
* src/prefs.h
* src/usage_text.h
* test/HttpRequestTest.cc (testUserHeaders)
Diffstat (limited to 'src/HttpRequest.cc')
| -rw-r--r-- | src/HttpRequest.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/HttpRequest.cc b/src/HttpRequest.cc index 9d43902d..da2db386 100644 --- a/src/HttpRequest.cc +++ b/src/HttpRequest.cc @@ -44,6 +44,7 @@ #include "prefs.h" #include "AuthConfigFactory.h" #include "AuthConfig.h" +#include <numeric> namespace aria2 { @@ -190,6 +191,12 @@ std::string HttpRequest::createRequest() const if(cookiesValue.size()) { requestLine += std::string("Cookie: ")+cookiesValue+"\r\n"; } + // append additional headers given by user. + for(std::deque<std::string>::const_iterator i = _userHeaders.begin(); + i != _userHeaders.end(); ++i) { + requestLine += (*i)+"\r\n"; + } + requestLine += "\r\n"; return requestLine; } @@ -218,6 +225,13 @@ std::string HttpRequest::getProxyAuthString() const { Base64::encode(AuthConfigFactorySingleton::instance()->createAuthConfigForHttpProxy(request)->getAuthText())+"\r\n"; } +void HttpRequest::setUserHeaders(const std::string& userHeadersString) +{ + std::deque<std::string> headers; + Util::slice(headers, userHeadersString, '\n', true); + _userHeaders = headers; +} + void HttpRequest::configure(const Option* option) { authEnabled = option->get(PREF_HTTP_AUTH_ENABLED) == V_TRUE; |
