diff --git a/src/Forum/ForumServiceProvider.php b/src/Forum/ForumServiceProvider.php index 383107133..2d1915dd3 100644 --- a/src/Forum/ForumServiceProvider.php +++ b/src/Forum/ForumServiceProvider.php @@ -67,7 +67,8 @@ class ForumServiceProvider extends AbstractServiceProvider HttpMiddleware\SetLocale::class, 'flarum.forum.route_resolver', HttpMiddleware\CheckCsrfToken::class, - HttpMiddleware\ShareErrorsFromSession::class + HttpMiddleware\ShareErrorsFromSession::class, + HttpMiddleware\FlarumPromotionHeader::class, ]; }); diff --git a/src/Http/Middleware/FlarumPromotionHeader.php b/src/Http/Middleware/FlarumPromotionHeader.php new file mode 100644 index 000000000..5e809fd0a --- /dev/null +++ b/src/Http/Middleware/FlarumPromotionHeader.php @@ -0,0 +1,37 @@ +enabled = $config['poweredByHeader'] ?? true; + } + + public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface + { + $response = $handler->handle($request); + + if ($this->enabled) { + $response = $response->withAddedHeader('X-Powered-By', 'Flarum'); + } + + return $response; + } +} diff --git a/src/Install/Steps/StoreConfig.php b/src/Install/Steps/StoreConfig.php index 67fbd79da..163b75b60 100644 --- a/src/Install/Steps/StoreConfig.php +++ b/src/Install/Steps/StoreConfig.php @@ -55,6 +55,7 @@ class StoreConfig implements Step, ReversibleStep { return [ 'debug' => $this->debugMode, + 'poweredByHeader' => true, 'database' => $this->dbConfig->toArray(), 'url' => (string) $this->baseUrl, 'paths' => $this->getPathsConfig(),