glance-project/cors-middleware

A simple PSR middleware to handle CORS

v1.0.0 2024-05-15 15:43 UTC

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"]);