diff options
author | Igor Scheller <igor.scheller@igorshp.de> | 2018-10-27 11:11:37 +0100 |
---|---|---|
committer | msquare <msquare@notrademark.de> | 2018-11-21 19:24:36 +0100 |
commit | fd37c9d60ea818dc9a562fa88ff5f9a50132506f (patch) | |
tree | 39bc7af1141f10603164b350b9588188ccc04b4e /src/Middleware | |
parent | 23c0fae36fb8159bcf8b95bae98555201146457e (diff) |
Added additional headers
Diffstat (limited to 'src/Middleware')
-rw-r--r-- | src/Middleware/AddHeaders.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/Middleware/AddHeaders.php b/src/Middleware/AddHeaders.php new file mode 100644 index 00000000..75383a90 --- /dev/null +++ b/src/Middleware/AddHeaders.php @@ -0,0 +1,46 @@ +<?php + +namespace Engelsystem\Middleware; + +use Engelsystem\Config\Config; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\ServerRequestInterface; +use Psr\Http\Server\MiddlewareInterface; +use Psr\Http\Server\RequestHandlerInterface; + +class AddHeaders implements MiddlewareInterface +{ + /** @var Config */ + protected $config; + + /** + * @param Config $config + */ + public function __construct(Config $config) + { + $this->config = $config; + } + + /** + * Process an incoming server request and setting the locale if required + * + * @param ServerRequestInterface $request + * @param RequestHandlerInterface $handler + * @return ResponseInterface + */ + public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface + { + $response = $handler->handle($request); + if (!$this->config->get('add_headers', true)) { + return $response; + } + + $headers = $this->config->get('headers', []); + + foreach ($headers as $name => $value) { + $response = $response->withAddedHeader($name, $value); + } + + return $response; + } +} |