softonic/laravel-psr15-bridge is a Laravel package for laravel psr-15 middleware bridge.
It currently has 9 GitHub stars and 110.873 downloads on Packagist (latest version 5.0.0).
Install it with composer require softonic/laravel-psr15-bridge.
Discover more Laravel packages by softonic
or browse all Laravel packages to compare alternatives.
Last updated
This package provides a Laravel middleware bridge for PSR-15 inspired in jshannon63/laravel-psr15-middleware.
To install, use composer:
composer require softonic/laravel-psr15-bridge
You are ready to use it!
The bridge adapter receive a PSR-15 middleware via injection, so the bridge is transparent for Laravel and you can use it as any other middleware.
Example based on OpenApi Validation Middleware:
Wrapping OpenApi Validation Middleware within the bridge.
// app/Providers/AppServiceProvider.php
use Softonic\Laravel\Middleware\Psr15Bridge\Psr15MiddlewareAdapter;
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app->bind(OpenApiValidation::class, function () {
// Setup your PSR-15 middleware here
$validator = new \HKarlstrom\Middleware\OpenApiValidation('schema.json');
// Return it wrapped in the adapter to make Laravel accept it
return Psr15MiddlewareAdapter::adapt($validator);
});
}
Now you can use it anywhere or for example generate an alias.
// app/Http/Kernel.php
protected $routeMiddleware = [
...
'openapi-validation' => OpenApiValidation::class,
];
Check laravel middleware for more information.
In the next diagram you can see the request and response flow.

As you can see, when you execute Psr15MiddlewareAdapter::adapt($validator);, you are adding an envelop to the PSR-15
middleware that converts the request and response transparently for the middleware format Laravel expects.
softonic/laravel-psr15-bridge has a PHPUnit test suite and a coding style compliance test suite using PHP CS Fixer.
To run the tests, run the following command from the project folder.
$ docker compose run --rm test
To run PHPUnit only:
$ docker compose run --rm phpunit
To check code style:
$ docker compose run --rm php composer run phpcs
To fix code style issues:
$ docker compose run --rm fixcs
The Apache 2.0 license. Please see LICENSE for more information.