summaryrefslogtreecommitdiff
path: root/src/HttpRequest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/HttpRequest.cc')
-rw-r--r--src/HttpRequest.cc14
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;