summaryrefslogtreecommitdiff
path: root/src/HttpConnection.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-03 23:42:55 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-03 23:42:55 +0900
commit9a38c102dc4ff4a0a7cc96ccef7cd1400f37eea5 (patch)
tree22623c7b5af1912f58bd4395c4b6ba7ed62da83f /src/HttpConnection.cc
parent7e6db8d801973bfc62b80f411f14d1d332a1f7aa (diff)
Use std::unique_ptr for HttpResponse instead of std::shared_ptr
Diffstat (limited to 'src/HttpConnection.cc')
-rw-r--r--src/HttpConnection.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/HttpConnection.cc b/src/HttpConnection.cc
index 9f49c1d8..f3925295 100644
--- a/src/HttpConnection.cc
+++ b/src/HttpConnection.cc
@@ -129,7 +129,7 @@ void HttpConnection::sendProxyRequest
sendRequest(httpRequest, httpRequest->createProxyRequest());
}
-std::shared_ptr<HttpResponse> HttpConnection::receiveResponse()
+std::unique_ptr<HttpResponse> HttpConnection::receiveResponse()
{
if(outstandingHttpRequests_.empty()) {
throw DL_ABORT_EX(EX_NO_HTTP_REQUEST_ENTRY_FOUND);
@@ -140,24 +140,24 @@ std::shared_ptr<HttpResponse> HttpConnection::receiveResponse()
throw DL_RETRY_EX(EX_GOT_EOF);
}
}
- std::shared_ptr<HttpResponse> httpResponse;
const auto& proc = outstandingHttpRequests_.front()->getHttpHeaderProcessor();
if(proc->parse(socketRecvBuffer_->getBuffer(),
socketRecvBuffer_->getBufferLength())) {
A2_LOG_INFO(fmt(MSG_RECEIVE_RESPONSE,
cuid_,
proc->getHeaderString().c_str()));
- httpResponse.reset(new HttpResponse());
+ auto httpResponse = make_unique<HttpResponse>();
httpResponse->setCuid(cuid_);
httpResponse->setHttpHeader(proc->getResult());
httpResponse->setHttpRequest(outstandingHttpRequests_.front()->
getHttpRequest());
socketRecvBuffer_->shiftBuffer(proc->getLastBytesProcessed());
outstandingHttpRequests_.pop_front();
+ return httpResponse;
} else {
socketRecvBuffer_->shiftBuffer(proc->getLastBytesProcessed());
+ return std::unique_ptr<HttpResponse>{};
}
- return httpResponse;
}
bool HttpConnection::isIssued(const std::shared_ptr<Segment>& segment) const