diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2019-08-19 10:34:20 +0200 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2019-08-19 14:39:34 +0200 |
commit | c40fe8b819053c327394996c165254b6d19bfeab (patch) | |
tree | 9320610b08946a1ee7dbfd45eaa4633b8fcbacb7 /lib | |
parent | 0b0cdeb8f589e4fd93b4b80ec3ee2e64466347a2 (diff) | |
download | nextcloud-server-c40fe8b819053c327394996c165254b6d19bfeab.tar.gz nextcloud-server-c40fe8b819053c327394996c165254b6d19bfeab.zip |
Do not enforce the parent constructor of response to be called
If there is no policy set we just take the default empty ones.
That way no obscure errors get thrown if the constructor is not called.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/public/AppFramework/Http/Response.php | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/public/AppFramework/Http/Response.php b/lib/public/AppFramework/Http/Response.php index bfee7d51549..f46aa9e2880 100644 --- a/lib/public/AppFramework/Http/Response.php +++ b/lib/public/AppFramework/Http/Response.php @@ -93,13 +93,9 @@ class Response { private $throttleMetadata = []; /** - * Response constructor. - * * @since 17.0.0 */ public function __construct() { - $this->setContentSecurityPolicy(new EmptyContentSecurityPolicy()); - $this->setFeaturePolicy(new EmptyFeaturePolicy()); } /** @@ -241,12 +237,8 @@ class Response { $this->lastModified->format(\DateTime::RFC2822); } - // Build Content-Security-Policy and use default if none has been specified - if(is_null($this->contentSecurityPolicy)) { - $this->setContentSecurityPolicy(new ContentSecurityPolicy()); - } - $this->headers['Content-Security-Policy'] = $this->contentSecurityPolicy->buildPolicy(); - $this->headers['Feature-Policy'] = $this->featurePolicy->buildPolicy(); + $this->headers['Content-Security-Policy'] = $this->getContentSecurityPolicy()->buildPolicy(); + $this->headers['Feature-Policy'] = $this->getFeaturePolicy()->buildPolicy(); if($this->ETag) { $mergeWith['ETag'] = '"' . $this->ETag . '"'; @@ -296,6 +288,9 @@ class Response { * @since 8.1.0 */ public function getContentSecurityPolicy() { + if ($this->contentSecurityPolicy === null) { + $this->setContentSecurityPolicy(new EmptyContentSecurityPolicy()); + } return $this->contentSecurityPolicy; } @@ -304,6 +299,9 @@ class Response { * @since 17.0.0 */ public function getFeaturePolicy(): EmptyFeaturePolicy { + if ($this->featurePolicy === null) { + $this->setFeaturePolicy(new EmptyFeaturePolicy()); + } return $this->featurePolicy; } |