diff --git a/lib/private/appframework/dependencyinjection/dicontainer.php b/lib/private/appframework/dependencyinjection/dicontainer.php index b71ca71391dee6191177f5356d6a26ed9521aca0..b0be4045541a3cc85f0c12699efae91537b4e52e 100644 --- a/lib/private/appframework/dependencyinjection/dicontainer.php +++ b/lib/private/appframework/dependencyinjection/dicontainer.php @@ -252,11 +252,10 @@ class DIContainer extends SimpleContainer implements IAppContainer { }); $this->registerService('Protocol', function($c){ - if(isset($_SERVER['SERVER_PROTOCOL'])) { - return new Http($_SERVER, $_SERVER['SERVER_PROTOCOL']); - } else { - return new Http($_SERVER); - } + /** @var \OC\Server $server */ + $server = $c->query('ServerContainer'); + $protocol = $server->getRequest()->getHttpProtocol(); + return new Http($_SERVER, $protocol); }); $this->registerService('Dispatcher', function($c) { diff --git a/lib/private/appframework/http.php b/lib/private/appframework/http.php index 89f6f70f4e77c69f577d617feacb11289838a29b..e64759fa924cdacb2dfa1867326275e5e53d2866 100644 --- a/lib/private/appframework/http.php +++ b/lib/private/appframework/http.php @@ -112,6 +112,7 @@ class Http extends BaseHttp { * @param Http::CONSTANT $status the constant from the Http class * @param \DateTime $lastModified formatted last modified date * @param string $ETag the etag + * @return string */ public function getStatusHeader($status, \DateTime $lastModified=null, $ETag=null) { diff --git a/lib/private/response.php b/lib/private/response.php index 2cd1d990e51b9bc50f4859b761d16d1479ed595d..b0eb8adc4d59dfba89d887a4e9e6219b4177e780 100644 --- a/lib/private/response.php +++ b/lib/private/response.php @@ -74,7 +74,7 @@ class OC_Response { * @param int $status a HTTP status code, see also the STATUS constants */ static public function setStatus($status) { - $protocol = $_SERVER['SERVER_PROTOCOL']; + $protocol = \OC::$server->getRequest()->getHttpProtocol(); switch($status) { case self::STATUS_NOT_MODIFIED: $status = $status . ' Not Modified';