]> source.dussan.org Git - nextcloud-server.git/commitdiff
fixes #4343
authorThomas Müller <thomas.mueller@tmit.eu>
Wed, 7 Aug 2013 22:42:28 +0000 (00:42 +0200)
committerThomas Müller <thomas.mueller@tmit.eu>
Wed, 7 Aug 2013 22:42:28 +0000 (00:42 +0200)
lib/connector/sabre/quotaplugin.php

index c80a33d04b1e80b5625ec7fbf93ac748bdc4fd3c..0f428b75b1906abe512d28f7fb124553acf5f0f2 100644 (file)
@@ -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;
+       }
 }