summaryrefslogtreecommitdiff
path: root/src/HttpInitiateConnectionCommand.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/HttpInitiateConnectionCommand.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/HttpInitiateConnectionCommand.cc')
-rw-r--r--src/HttpInitiateConnectionCommand.cc20
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");