diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-20 00:50:22 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-20 00:50:22 +0000 |
| commit | 3505201f3333c937b5b870d70019d400c722a69f (patch) | |
| tree | def64ac6be50375e43da5e3e91eb443dd4c171fc /src/HttpConnection.cc | |
| parent | 99733a84e2102739ee7c9de08ffae9e9216b6003 (diff) | |
2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten SharedHandle. Now copy constructor taking raw pointer
has
keyword explicit and SharedHandle's default constructor
initializes
its internal obj to null, old implementation initializes it
using
obj's default constructor.
To assign null, write SharedHandle<T> x(...); x.reset();
TODO: test/SharedHandleTest.cc needs more tests.
* src/SharedHandle.h
Diffstat (limited to 'src/HttpConnection.cc')
| -rw-r--r-- | src/HttpConnection.cc | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/HttpConnection.cc b/src/HttpConnection.cc index 52e3bfcb..e624a040 100644 --- a/src/HttpConnection.cc +++ b/src/HttpConnection.cc @@ -51,10 +51,9 @@ namespace aria2 { -HttpRequestEntry::HttpRequestEntry(const HttpRequestHandle& httpRequest, - const HttpHeaderProcessorHandle& proc): +HttpRequestEntry::HttpRequestEntry(const HttpRequestHandle& httpRequest): _httpRequest(httpRequest), - _proc(proc) {} + _proc(new HttpHeaderProcessor()) {} HttpRequestEntry::~HttpRequestEntry() {} @@ -96,8 +95,8 @@ void HttpConnection::sendRequest(const HttpRequestHandle& httpRequest) std::string request = httpRequest->createRequest(); logger->info(MSG_SENDING_REQUEST, cuid, eraseConfidentialInfo(request).c_str()); socket->writeData(request.c_str(), request.size()); - outstandingHttpRequests.push_back(new HttpRequestEntry(httpRequest, - new HttpHeaderProcessor())); + SharedHandle<HttpRequestEntry> entry(new HttpRequestEntry(httpRequest)); + outstandingHttpRequests.push_back(entry); } void HttpConnection::sendProxyRequest(const HttpRequestHandle& httpRequest) @@ -105,8 +104,8 @@ void HttpConnection::sendProxyRequest(const HttpRequestHandle& httpRequest) std::string request = httpRequest->createProxyRequest(); logger->info(MSG_SENDING_REQUEST, cuid, eraseConfidentialInfo(request).c_str()); socket->writeData(request.c_str(), request.size()); - outstandingHttpRequests.push_back(new HttpRequestEntry(httpRequest, - new HttpHeaderProcessor())); + SharedHandle<HttpRequestEntry> entry(new HttpRequestEntry(httpRequest)); + outstandingHttpRequests.push_back(entry); } HttpResponseHandle HttpConnection::receiveResponse() @@ -126,7 +125,7 @@ HttpResponseHandle HttpConnection::receiveResponse() proc->update(buf, size); if(!proc->eoh()) { socket->readData(buf, size); - return 0; + return SharedHandle<HttpResponse>(); } size_t putbackDataLength = proc->getPutBackDataLength(); size -= putbackDataLength; @@ -140,7 +139,7 @@ HttpResponseHandle HttpConnection::receiveResponse() entry->getHttpRequest()->getRequest()->setKeepAlive(false); } - HttpResponseHandle httpResponse = new HttpResponse(); + HttpResponseHandle httpResponse(new HttpResponse()); httpResponse->setCuid(cuid); httpResponse->setStatus(Util::parseInt(httpStatusHeader.first)); httpResponse->setHttpHeader(httpStatusHeader.second); |
