Middleware to implement Cross-Origin Resource Sharing (CORS) using neomerx/cors-psr7.
- PHP >= 7.2
- A PSR-7 http library
- A PSR-15 middleware dispatcher
This package is installable and autoloadable via Composer as middlewares/cors.
composer require middlewares/cors
use Neomerx\Cors\Strategies\Settings;
use Neomerx\Cors\Analyzer;
$settings = new Settings();
$settings->setServerOrigin('http', 'example.com', 123);
$analyzer = Analyzer::instance($settings);
$dispatcher = new Dispatcher([
new Middlewares\Cors($analyzer)
]);
$response = $dispatcher->dispatch(new ServerRequest());
You have to provide a Neomerx\Cors\Contracts\AnalyzerInterface
to the constructor. See neomerx/cors-psr7 for more info. Optionally, you can provide a Psr\Http\Message\ResponseFactoryInterface
as the second argument to create the responses. If it's not defined, Middleware\Utils\Factory will be used to detect it automatically.
$analyzer = Analyzer::instance($settings);
$responseFactory = new MyOwnResponseFactory();
$cors = new Middlewares\Cors($analyzer, $responseFactory);
Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.
The MIT License (MIT). Please see LICENSE for more information.