|
@@ -96,6 +96,8 @@ int64_t HttpRequest::getEndByte() const
|
|
|
int64_t endByte =
|
|
|
fileEntry_->gtoloff(segment_->getPosition()+segment_->getLength()-1);
|
|
|
return std::min(endByte, fileEntry_->getLength()-1);
|
|
|
+ } else if(endOffsetOverride_ > 0) {
|
|
|
+ return endOffsetOverride_ - 1;
|
|
|
} else {
|
|
|
return 0;
|
|
|
}
|
|
@@ -201,9 +203,9 @@ std::string HttpRequest::createRequest()
|
|
|
std::string rangeHeader(fmt("bytes=%" PRId64 "-", getStartByte()));
|
|
|
if(request_->isPipeliningEnabled()) {
|
|
|
rangeHeader += util::itos(getEndByte());
|
|
|
- } else if(getProtocol() != "ftp" && endOffsetOverride_ > 0) {
|
|
|
+ } else if(getEndByte() > 0) {
|
|
|
// FTP via http proxy does not support endbytes
|
|
|
- rangeHeader += util::itos(endOffsetOverride_-1);
|
|
|
+ rangeHeader += util::itos(getEndByte());
|
|
|
}
|
|
|
builtinHds.push_back(std::make_pair("Range:", rangeHeader));
|
|
|
}
|