Merge pull request #10422 from owncloud/dav-disablerangerequestwhennotsupported

Return whole file if range request cannot be granted due to encryption
This commit is contained in:
Vincent Petry 2014-08-20 18:14:09 +02:00
commit 36c88e2830
1 changed files with 22 additions and 0 deletions

View File

@ -33,6 +33,11 @@ class OC_Connector_Sabre_Server extends Sabre\DAV\Server {
*/
private $overLoadedUri = null;
/**
* @var boolean
*/
private $ignoreRangeHeader = false;
public function getRequestUri() {
if (!is_null($this->overLoadedUri)) {
@ -59,6 +64,23 @@ class OC_Connector_Sabre_Server extends Sabre\DAV\Server {
return $result;
}
public function getHTTPRange() {
if ($this->ignoreRangeHeader) {
return null;
}
return parent::getHTTPRange();
}
protected function httpGet($uri) {
$range = $this->getHTTPRange();
if (OC_App::isEnabled('files_encryption') && $range) {
// encryption does not support range requests
$this->ignoreRangeHeader = true;
}
return parent::httpGet($uri);
}
/**
* @see \Sabre\DAV\Server
*/