diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-06-09 12:43:44 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-06-09 12:43:44 +0000 |
| commit | 970e7f95a65b1b8940c9131a76372b7d7abffdf1 (patch) | |
| tree | c3a9b7b51a97a01160a7b37989406b78041d9115 /src/FtpInitiateConnectionCommand.cc | |
| parent | 9afc36152a1ce428243a3ace608d0508716a2efb (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.cc | 67 |
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"]); } |
