summaryrefslogtreecommitdiffstats
path: root/lib/public/AppFramework/Http/Response.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/AppFramework/Http/Response.php')
-rw-r--r--lib/public/AppFramework/Http/Response.php23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/public/AppFramework/Http/Response.php b/lib/public/AppFramework/Http/Response.php
index 98c0a7f5f70..bfee7d51549 100644
--- a/lib/public/AppFramework/Http/Response.php
+++ b/lib/public/AppFramework/Http/Response.php
@@ -84,6 +84,9 @@ class Response {
/** @var ContentSecurityPolicy|null Used Content-Security-Policy */
private $contentSecurityPolicy = null;
+ /** @var FeaturePolicy */
+ private $featurePolicy;
+
/** @var bool */
private $throttled = false;
/** @var array */
@@ -96,6 +99,7 @@ class Response {
*/
public function __construct() {
$this->setContentSecurityPolicy(new EmptyContentSecurityPolicy());
+ $this->setFeaturePolicy(new EmptyFeaturePolicy());
}
/**
@@ -242,6 +246,7 @@ class Response {
$this->setContentSecurityPolicy(new ContentSecurityPolicy());
}
$this->headers['Content-Security-Policy'] = $this->contentSecurityPolicy->buildPolicy();
+ $this->headers['Feature-Policy'] = $this->featurePolicy->buildPolicy();
if($this->ETag) {
$mergeWith['ETag'] = '"' . $this->ETag . '"';
@@ -296,6 +301,24 @@ class Response {
/**
+ * @since 17.0.0
+ */
+ public function getFeaturePolicy(): EmptyFeaturePolicy {
+ return $this->featurePolicy;
+ }
+
+ /**
+ * @since 17.0.0
+ */
+ public function setFeaturePolicy(EmptyFeaturePolicy $featurePolicy): self {
+ $this->featurePolicy = $featurePolicy;
+
+ return $this;
+ }
+
+
+
+ /**
* Get response status
* @since 6.0.0
*/