diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-11-04 14:08:26 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-11-04 14:08:26 +0000 |
| commit | c7fb678e6ee03f1bbfb39c820710c0bf76eb965a (patch) | |
| tree | 491b5b858a6c383ab045a43557e6b851723ee507 /src/HttpInitiateConnectionCommand.cc | |
| parent | 223621b5bc714de0031c11e86f728890cfa1bc6c (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/HttpInitiateConnectionCommand.cc')
| -rw-r--r-- | src/HttpInitiateConnectionCommand.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/HttpInitiateConnectionCommand.cc b/src/HttpInitiateConnectionCommand.cc index 84d8c6d6..8732c8bf 100644 --- a/src/HttpInitiateConnectionCommand.cc +++ b/src/HttpInitiateConnectionCommand.cc @@ -46,6 +46,7 @@ #include "Socket.h" #include "message.h" #include "prefs.h" +#include "A2STR.h" namespace aria2 { @@ -59,22 +60,25 @@ HttpInitiateConnectionCommand::HttpInitiateConnectionCommand HttpInitiateConnectionCommand::~HttpInitiateConnectionCommand() {} Command* HttpInitiateConnectionCommand::createNextCommand -(const std::deque<std::string>& resolvedAddresses) +(const std::deque<std::string>& resolvedAddresses, + const SharedHandle<Request>& proxyRequest) { Command* command; - if(useHTTPProxy()) { + if(!proxyRequest.isNull()) { logger->info(MSG_CONNECTING_TO_SERVER, cuid, - e->option->get(PREF_HTTP_PROXY_HOST).c_str(), - e->option->getAsInt(PREF_HTTP_PROXY_PORT)); + proxyRequest->getHost().c_str(), proxyRequest->getPort()); socket.reset(new SocketCore()); socket->establishConnection(resolvedAddresses.front(), - e->option->getAsInt(PREF_HTTP_PROXY_PORT)); + proxyRequest->getPort()); if(useProxyTunnel()) { - command = new HttpProxyRequestCommand(cuid, req, _requestGroup, e, socket); + command = new HttpProxyRequestCommand(cuid, req, _requestGroup, e, + proxyRequest, socket); } else if(useProxyGet()) { SharedHandle<HttpConnection> httpConnection(new HttpConnection(cuid, socket, e->option)); - command = new HttpRequestCommand(cuid, req, _requestGroup, - httpConnection, e, socket); + HttpRequestCommand* c = new HttpRequestCommand(cuid, req, _requestGroup, + httpConnection, e, socket); + c->setProxyRequest(proxyRequest); + command = c; } else { // TODO throw DlAbortEx("ERROR"); |
