diff options
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; |
