From: Thomas Müller Date: Wed, 7 Aug 2013 22:42:28 +0000 (+0200) Subject: fixes #4343 X-Git-Tag: v6.0.0alpha2~267^2~4 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fb890eee674fece6194a743483ae59f4384c7eb4;p=nextcloud-server.git fixes #4343 --- diff --git a/lib/connector/sabre/quotaplugin.php b/lib/connector/sabre/quotaplugin.php index c80a33d04b1..0f428b75b19 100644 --- a/lib/connector/sabre/quotaplugin.php +++ b/lib/connector/sabre/quotaplugin.php @@ -43,8 +43,7 @@ class OC_Connector_Sabre_QuotaPlugin extends Sabre_DAV_ServerPlugin { * @return bool */ public function checkQuota($uri, $data = null) { - $expected = $this->server->httpRequest->getHeader('X-Expected-Entity-Length'); - $length = $expected ? $expected : $this->server->httpRequest->getHeader('Content-Length'); + $length = $this->getLength(); if ($length) { if (substr($uri, 0, 1)!=='/') { $uri='/'.$uri; @@ -57,4 +56,19 @@ class OC_Connector_Sabre_QuotaPlugin extends Sabre_DAV_ServerPlugin { } return true; } + + private function getLength() + { + $expected = $this->server->httpRequest->getHeader('X-Expected-Entity-Length'); + if ($expected) + return $expected; + + $length = $this->server->httpRequest->getHeader('Content-Length'); + $ocLength = $this->server->httpRequest->getHeader('OC-Total-Length'); + + if ($length && $ocLength) + return max($length, $ocLength); + + return $length; + } }