Skip to content

Simple PSR-15 Middleware to implement Cross-Origin Resource Sharing (CORS).

Notifications You must be signed in to change notification settings

davidecesarano/Embryo-CORS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Embryo CORS

Simple PSR-15 Middleware to implement Cross-Origin Resource Sharing (CORS).

Requirements

Install

Using Composer:

$ composer require davidecesarano/embryo-cors

Usage

use Embryo\CORS\CorsMiddleware;
use Embryo\Http\Factory\{ResponseFactory, ServerRequestFactory};
use Embryo\Http\Server\RequestHandler;

// Set options
$allowed_origins = ['*'];
$allowed_methods = ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'];
$allowed_headers = ['Content-Type', 'Accept', 'Origin', 'Authorization'];
$exposed_headers = [];
$max_age = 0;
$supports_credentials = false;

// Add middleware to dispatcher
$requestHandler = new RequestHandler([
    (new CorsMiddleware)
        ->setAllowedOrigins($allowed_origins)
        ->setAllowedMethods($allowed_methods)
        ->setAllowedHeaders($allowed_headers)
        ->setExposedHeaders($exposed_headers)
        ->setMaxAge($max_age)
        ->setSupportsCredentials($supports_credentials)
]);

// Set PSR Request and Response
$request = (new ServerRequestFactory)->createServerRequestFromServer();
$response = (new ResponseFactory)->createResponse(200);

$response = $requestHandler->dispatch($request, $response);

About

Simple PSR-15 Middleware to implement Cross-Origin Resource Sharing (CORS).

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages