From 1af0791cb4d6cffef48861b703ac35003847fefb Mon Sep 17 00:00:00 2001 From: Andrey Helldar Date: Mon, 4 Mar 2024 17:46:40 +0300 Subject: [PATCH] Fixed an error in setting requests for exceptions --- src/Middlewares/SetHeaderMiddleware.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/Middlewares/SetHeaderMiddleware.php b/src/Middlewares/SetHeaderMiddleware.php index 07d9ca1..caa2cd5 100644 --- a/src/Middlewares/SetHeaderMiddleware.php +++ b/src/Middlewares/SetHeaderMiddleware.php @@ -5,12 +5,12 @@ namespace DragonCode\LaravelJsonResponse\Middlewares; use Closure; -use Illuminate\Http\Request; +use Illuminate\Support\Str; use Lmc\HttpConstants\Header; class SetHeaderMiddleware { - public function handle(Request $request, Closure $next) + public function handle($request, Closure $next) { return $this->set( $next($this->set($request)) @@ -19,10 +19,20 @@ public function handle(Request $request, Closure $next) protected function set($request) { - if (! $request->headers->has(Header::ACCEPT)) { + if (!$this->hasHeader($request) || $this->isAsterisk($request)) { $request->headers->set(Header::ACCEPT, 'application/json'); } return $request; } + + protected function hasHeader($request): bool + { + return $request->headers->has(Header::ACCEPT); + } + + protected function isAsterisk($request): bool + { + return Str::contains($request->headers->get(Header::ACCEPT, ''), '*/*'); + } }