summaryrefslogtreecommitdiff
path: root/src/HttpHeader.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-09-30 17:30:35 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-09-30 17:30:35 +0900
commite34d0e7ffa602d611ec6ec14cf9aa381da41c24e (patch)
tree592bb08917923313eba265001383f780ef0f930c /src/HttpHeader.cc
parent492d6d1eeb7df7c848c07487dbdef0306a462332 (diff)
Dont' return SharedHandle from HttpHeader::getRange()
Diffstat (limited to 'src/HttpHeader.cc')
-rw-r--r--src/HttpHeader.cc15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/HttpHeader.cc b/src/HttpHeader.cc
index a349a7a3..ae622b27 100644
--- a/src/HttpHeader.cc
+++ b/src/HttpHeader.cc
@@ -85,13 +85,13 @@ HttpHeader::equalRange(int hdKey) const
return table_.equal_range(hdKey);
}
-SharedHandle<Range> HttpHeader::getRange() const
+Range HttpHeader::getRange() const
{
const std::string& rangeStr = find(CONTENT_RANGE);
if(rangeStr.empty()) {
const std::string& clenStr = find(CONTENT_LENGTH);
if(clenStr.empty()) {
- return SharedHandle<Range>(new Range());
+ return Range();
} else {
int64_t contentLength;
if(!util::parseLLIntNoThrow(contentLength, clenStr) ||
@@ -101,10 +101,9 @@ SharedHandle<Range> HttpHeader::getRange() const
throw DOWNLOAD_FAILURE_EXCEPTION
(fmt(EX_TOO_LARGE_FILE, contentLength));
} else if(contentLength == 0) {
- return SharedHandle<Range>(new Range());
+ return Range();
} else {
- return SharedHandle<Range>
- (new Range(0, contentLength-1, contentLength));
+ return Range(0, contentLength - 1, contentLength);
}
}
}
@@ -130,11 +129,11 @@ SharedHandle<Range> HttpHeader::getRange() const
// If byte-range-resp-spec or instance-length is "*", we returns
// empty Range. The former is usually sent with 416 (Request range
// not satisfiable) status.
- return SharedHandle<Range>(new Range());
+ return Range();
}
std::string::const_iterator minus = std::find(byteRangeSpec, slash, '-');
if(minus == slash) {
- return SharedHandle<Range>(new Range());
+ return Range();
}
int64_t startByte, endByte, entityLength;
if(!util::parseLLIntNoThrow(startByte, std::string(byteRangeSpec, minus)) ||
@@ -153,7 +152,7 @@ SharedHandle<Range> HttpHeader::getRange() const
if(entityLength > std::numeric_limits<off_t>::max()) {
throw DOWNLOAD_FAILURE_EXCEPTION(fmt(EX_TOO_LARGE_FILE, entityLength));
}
- return SharedHandle<Range>(new Range(startByte, endByte, entityLength));
+ return Range(startByte, endByte, entityLength);
}
void HttpHeader::setVersion(const std::string& version)