Skip to content

PSR-15 middleware to implement Cross-Origin Resource Sharing (CORS)

License

Notifications You must be signed in to change notification settings

middlewares/cors

Folders and files

NameName
Last commit message
Last commit date
Oct 27, 2022
Nov 30, 2019
Nov 30, 2019
Oct 9, 2016
Nov 30, 2019
Nov 30, 2019
Nov 30, 2019
Oct 27, 2022
Jan 13, 2018
Nov 30, 2019
Dec 1, 2020
Oct 17, 2022
Sep 2, 2017
Sep 2, 2017

Repository files navigation

middlewares/cors

Latest Version on Packagist Software License Testing Total Downloads

Middleware to implement Cross-Origin Resource Sharing (CORS) using neomerx/cors-psr7.

Requirements

Installation

This package is installable and autoloadable via Composer as middlewares/cors.

composer require middlewares/cors

Example

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());

Usage

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.