glance-project / cors-middleware
A simple PSR middleware to handle CORS
v1.0.0
2024-05-15 15:43 UTC
Requires
- php: ^8.2
- php-http/discovery: ^1.14
- psr/http-factory: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- dq5studios/psalm-junit: ^2.0
- nyholm/psr7: ^1.5
- phpunit/phpunit: ^8.5
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^4.1
This package is auto-updated.
Last update: 2024-11-15 16:47:23 UTC
README
A simple PSR-15 middleware for handling CORS.
Installation
Install using Composer:
composer require glance-project/cors-middleware
Usage
This middleware can be used with any framework compatible with PSR-7 and PSR-15. On the following examples, Slim will be used.
Basic usage
On most of the cases, the middleware can be used out of the box.
<?php
use Glance\CorsMiddleware\CorsMiddleware;
$app = new \Slim\App();
$corsMiddleware = CorsMiddleware::create();
$app->add($corsMiddleware);
It will add the following headers to your response:
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, PATCH
If the request has the method OPTIONS
and empty response will be returned.
Custom origins
$corsMiddleware = CorsMiddleware::create()
->withAllowedOrigins(["localhost"]);
Custom headers
$corsMiddleware = CorsMiddleware::create()
->withAllowedHeaders(["Content-Type", "Api-Key"]);
Custom methods
$corsMiddleware = CorsMiddleware::create()
->withAllowedMethods(["GET", "POST"]);