summaryrefslogtreecommitdiff
path: root/src/HttpRequestCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-11-04 14:08:26 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-11-04 14:08:26 +0000
commitc7fb678e6ee03f1bbfb39c820710c0bf76eb965a (patch)
tree491b5b858a6c383ab045a43557e6b851723ee507 /src/HttpRequestCommand.cc
parent223621b5bc714de0031c11e86f728890cfa1bc6c (diff)
2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Deprecated --http-proxy-user and --http-proxy-passwd options. Added --https-proxy, --ftp-proxy and --all-proxy options. Above 3 options and --http-proxy option can handle proxy in URL format like: http://user:passwd@host:port. If a proxy requires user/password, they must be specified in a URL. Deprecated --ftp-via-http-proxy option. Use --http-proxy-method option instead. * src/AbstractCommand.cc * src/AbstractCommand.h * src/AbstractProxyRequestCommand.cc * src/AbstractProxyRequestCommand.h * src/AuthConfigFactory.cc * src/AuthConfigFactory.h * src/FtpFinishDownloadCommand.cc * src/FtpInitiateConnectionCommand.cc * src/FtpInitiateConnectionCommand.h * src/FtpNegotiationCommand.cc * src/FtpTunnelRequestCommand.cc * src/FtpTunnelRequestCommand.h * src/HttpDownloadCommand.cc * src/HttpInitiateConnectionCommand.cc * src/HttpInitiateConnectionCommand.h * src/HttpProxyRequestCommand.cc * src/HttpProxyRequestCommand.h * src/HttpRequest.cc * src/HttpRequest.h * src/HttpRequestCommand.cc * src/HttpRequestCommand.h * src/HttpSkipResponseCommand.cc * src/InitiateConnectionCommand.cc * src/InitiateConnectionCommand.h * src/OptionHandlerFactory.cc * src/OptionHandlerImpl.h * src/Request.cc * src/option_processing.cc * src/prefs.cc * src/prefs.h * src/usage_text.h * test/AuthConfigFactoryTest.cc * test/HttpRequestTest.cc * test/OptionHandlerTest.cc
Diffstat (limited to 'src/HttpRequestCommand.cc')
-rw-r--r--src/HttpRequestCommand.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/HttpRequestCommand.cc b/src/HttpRequestCommand.cc
index 6f8be74d..9e39ebb2 100644
--- a/src/HttpRequestCommand.cc
+++ b/src/HttpRequestCommand.cc
@@ -79,7 +79,8 @@ createHttpRequest(const SharedHandle<Request>& req,
const Option* option,
const RequestGroup* rg,
const SharedHandle<CookieStorage>& cookieStorage,
- const SharedHandle<AuthConfigFactory>& authConfigFactory)
+ const SharedHandle<AuthConfigFactory>& authConfigFactory,
+ const SharedHandle<Request>& proxyRequest)
{
HttpRequestHandle httpRequest(new HttpRequest());
httpRequest->setUserAgent(option->get(PREF_USER_AGENT));
@@ -89,6 +90,7 @@ createHttpRequest(const SharedHandle<Request>& req,
httpRequest->addHeader(option->get(PREF_HEADER));
httpRequest->setCookieStorage(cookieStorage);
httpRequest->setAuthConfigFactory(authConfigFactory);
+ httpRequest->setProxyRequest(proxyRequest);
if(!rg->getAcceptFeatures().empty()) {
const std::deque<std::string>& acceptFeatures = rg->getAcceptFeatures();
std::string acceptFeaturesHeader = "Accept-Features: ";
@@ -98,7 +100,6 @@ createHttpRequest(const SharedHandle<Request>& req,
}
httpRequest->addAcceptType(rg->getAcceptTypes().begin(),
rg->getAcceptTypes().end());
- httpRequest->configure(option);
return httpRequest;
}
@@ -123,7 +124,8 @@ bool HttpRequestCommand::executeInternal() {
_requestGroup->getTotalLength(), e->option,
_requestGroup,
e->getCookieStorage(),
- e->getAuthConfigFactory()));
+ e->getAuthConfigFactory(),
+ _proxyRequest));
_httpConnection->sendRequest(httpRequest);
} else {
for(Segments::iterator itr = _segments.begin(); itr != _segments.end(); ++itr) {
@@ -134,7 +136,8 @@ bool HttpRequestCommand::executeInternal() {
_requestGroup->getTotalLength(), e->option,
_requestGroup,
e->getCookieStorage(),
- e->getAuthConfigFactory()));
+ e->getAuthConfigFactory(),
+ _proxyRequest));
_httpConnection->sendRequest(httpRequest);
}
}
@@ -155,4 +158,10 @@ bool HttpRequestCommand::executeInternal() {
}
}
+void HttpRequestCommand::setProxyRequest
+(const SharedHandle<Request>& proxyRequest)
+{
+ _proxyRequest = proxyRequest;
+}
+
} // namespace aria2