You've already forked php-flasher
mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-04-05 12:32:55 +01:00
6de67f7fb3
This commit updates the FlasherMiddleware and SessionMiddleware to utilize Symfony's base response class instead of Laravel's. This change ensures broader compatibility and addresses the issue with flash message rendering after page refreshes as identified by the community. Preparing for release in v2.0.2.
30 lines
752 B
PHP
30 lines
752 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Flasher\Laravel\Middleware;
|
|
|
|
use Flasher\Laravel\Http\Request;
|
|
use Flasher\Laravel\Http\Response;
|
|
use Flasher\Prime\Http\RequestExtensionInterface;
|
|
use Illuminate\Http\Request as LaravelRequest;
|
|
use Symfony\Component\HttpFoundation\Response as SymfonyResponse;
|
|
|
|
final readonly class SessionMiddleware
|
|
{
|
|
public function __construct(private RequestExtensionInterface $requestExtension)
|
|
{
|
|
}
|
|
|
|
public function handle(LaravelRequest $request, \Closure $next): mixed
|
|
{
|
|
$response = $next($request);
|
|
|
|
if ($response instanceof SymfonyResponse) {
|
|
$this->requestExtension->flash(new Request($request), new Response($response));
|
|
}
|
|
|
|
return $response;
|
|
}
|
|
}
|