summaryrefslogtreecommitdiff
path: root/src/FtpInitiateConnectionCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-06-09 12:43:44 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-06-09 12:43:44 +0000
commit970e7f95a65b1b8940c9131a76372b7d7abffdf1 (patch)
treec3a9b7b51a97a01160a7b37989406b78041d9115 /src/FtpInitiateConnectionCommand.cc
parent9afc36152a1ce428243a3ace608d0508716a2efb (diff)
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs. * src/AbstractCommand.cc * src/AbstractCommand.h * src/AbstractProxyRequestCommand.cc * src/AbstractProxyRequestCommand.h * src/AbstractProxyResponseCommand.cc * src/AbstractProxyResponseCommand.h * src/CreateRequestCommand.cc * src/DownloadCommand.cc * src/DownloadCommand.h * src/FtpDownloadCommand.cc * src/FtpDownloadCommand.h * src/FtpFinishDownloadCommand.cc * src/FtpInitiateConnectionCommand.cc * src/FtpNegotiationCommand.cc * src/FtpNegotiationCommand.h * src/FtpTunnelRequestCommand.cc * src/FtpTunnelResponseCommand.cc * src/HttpDownloadCommand.cc * src/HttpInitiateConnectionCommand.cc * src/HttpProxyRequestCommand.cc * src/HttpProxyResponseCommand.cc * src/HttpRequestCommand.cc * src/HttpResponseCommand.cc * src/HttpResponseCommand.h * src/HttpSkipResponseCommand.cc * src/InitiateConnectionCommand.cc
Diffstat (limited to 'src/FtpInitiateConnectionCommand.cc')
-rw-r--r--src/FtpInitiateConnectionCommand.cc67
1 files changed, 37 insertions, 30 deletions
diff --git a/src/FtpInitiateConnectionCommand.cc b/src/FtpInitiateConnectionCommand.cc
index 3fd52954..bbd6503d 100644
--- a/src/FtpInitiateConnectionCommand.cc
+++ b/src/FtpInitiateConnectionCommand.cc
@@ -80,16 +80,16 @@ Command* FtpInitiateConnectionCommand::createNextCommand
if(!proxyRequest.isNull()) {
std::map<std::string, std::string> options;
SharedHandle<SocketCore> pooledSocket;
- std::string proxyMethod = resolveProxyMethod(req->getProtocol());
+ std::string proxyMethod = resolveProxyMethod(getRequest()->getProtocol());
if(proxyMethod == V_GET) {
- pooledSocket = e->popPooledSocket
- (req->getHost(), req->getPort(),
+ pooledSocket = getDownloadEngine()->popPooledSocket
+ (getRequest()->getHost(), getRequest()->getPort(),
proxyRequest->getHost(), proxyRequest->getPort());
} else {
- pooledSocket = e->popPooledSocket
- (options, req->getHost(), req->getPort(),
- e->getAuthConfigFactory()->createAuthConfig
- (req, getOption().get())->getUser(),
+ pooledSocket = getDownloadEngine()->popPooledSocket
+ (options, getRequest()->getHost(), getRequest()->getPort(),
+ getDownloadEngine()->getAuthConfigFactory()->createAuthConfig
+ (getRequest(), getOption().get())->getUser(),
proxyRequest->getHost(), proxyRequest->getPort());
}
if(pooledSocket.isNull()) {
@@ -97,26 +97,27 @@ Command* FtpInitiateConnectionCommand::createNextCommand
getLogger()->info(MSG_CONNECTING_TO_SERVER,
util::itos(getCuid()).c_str(), addr.c_str(), port);
}
- socket.reset(new SocketCore());
- socket->establishConnection(addr, port);
+ createSocket();
+ getSocket()->establishConnection(addr, port);
if(proxyMethod == V_GET) {
// Use GET for FTP via HTTP proxy.
- req->setMethod(Request::METHOD_GET);
+ getRequest()->setMethod(Request::METHOD_GET);
SharedHandle<HttpConnection> hc
- (new HttpConnection(getCuid(), socket, getOption().get()));
+ (new HttpConnection(getCuid(), getSocket(), getOption().get()));
HttpRequestCommand* c =
- new HttpRequestCommand(getCuid(), req, _fileEntry,
- _requestGroup, hc, e, socket);
+ new HttpRequestCommand(getCuid(), getRequest(), getFileEntry(),
+ getRequestGroup(), hc, getDownloadEngine(),
+ getSocket());
c->setConnectedAddr(hostname, addr, port);
c->setProxyRequest(proxyRequest);
command = c;
} else if(proxyMethod == V_TUNNEL) {
FtpTunnelRequestCommand* c =
- new FtpTunnelRequestCommand(getCuid(), req, _fileEntry,
- _requestGroup, e,
- proxyRequest, socket);
+ new FtpTunnelRequestCommand(getCuid(), getRequest(), getFileEntry(),
+ getRequestGroup(), getDownloadEngine(),
+ proxyRequest, getSocket());
c->setConnectedAddr(hostname, addr, port);
command = c;
} else {
@@ -126,19 +127,21 @@ Command* FtpInitiateConnectionCommand::createNextCommand
} else {
if(proxyMethod == V_TUNNEL) {
command =
- new FtpNegotiationCommand(getCuid(), req, _fileEntry,
- _requestGroup, e, pooledSocket,
+ new FtpNegotiationCommand(getCuid(), getRequest(), getFileEntry(),
+ getRequestGroup(), getDownloadEngine(),
+ pooledSocket,
FtpNegotiationCommand::SEQ_SEND_CWD,
options["baseWorkingDir"]);
} else if(proxyMethod == V_GET) {
// Use GET for FTP via HTTP proxy.
- req->setMethod(Request::METHOD_GET);
+ getRequest()->setMethod(Request::METHOD_GET);
SharedHandle<HttpConnection> hc
(new HttpConnection(getCuid(), pooledSocket, getOption().get()));
HttpRequestCommand* c =
- new HttpRequestCommand(getCuid(), req, _fileEntry,
- _requestGroup, hc, e, pooledSocket);
+ new HttpRequestCommand(getCuid(), getRequest(), getFileEntry(),
+ getRequestGroup(), hc, getDownloadEngine(),
+ pooledSocket);
c->setProxyRequest(proxyRequest);
command = c;
} else {
@@ -149,25 +152,29 @@ Command* FtpInitiateConnectionCommand::createNextCommand
} else {
std::map<std::string, std::string> options;
SharedHandle<SocketCore> pooledSocket =
- e->popPooledSocket(options, resolvedAddresses, req->getPort(),
- e->getAuthConfigFactory()->createAuthConfig
- (req, getOption().get())->getUser());
+ getDownloadEngine()->popPooledSocket
+ (options, resolvedAddresses,
+ getRequest()->getPort(),
+ getDownloadEngine()->getAuthConfigFactory()->createAuthConfig
+ (getRequest(), getOption().get())->getUser());
if(pooledSocket.isNull()) {
if(getLogger()->info()) {
getLogger()->info(MSG_CONNECTING_TO_SERVER,
util::itos(getCuid()).c_str(), addr.c_str(), port);
}
- socket.reset(new SocketCore());
- socket->establishConnection(addr, port);
+ createSocket();
+ getSocket()->establishConnection(addr, port);
FtpNegotiationCommand* c =
- new FtpNegotiationCommand(getCuid(), req, _fileEntry,
- _requestGroup, e, socket);
+ new FtpNegotiationCommand(getCuid(), getRequest(), getFileEntry(),
+ getRequestGroup(), getDownloadEngine(),
+ getSocket());
c->setConnectedAddr(hostname, addr, port);
command = c;
} else {
command =
- new FtpNegotiationCommand(getCuid(), req, _fileEntry,
- _requestGroup, e, pooledSocket,
+ new FtpNegotiationCommand(getCuid(), getRequest(), getFileEntry(),
+ getRequestGroup(), getDownloadEngine(),
+ pooledSocket,
FtpNegotiationCommand::SEQ_SEND_CWD,
options["baseWorkingDir"]);
}