subjective-php / slim-options-middleware
Middleware to add an OPTIONS route to routes.
dev-master
2019-04-22 15:11 UTC
Requires
- php: ^7.0
- fig/http-message-util: ^1.1
- psr/http-message: ^1.0
- slim/slim: ^3.12
Requires (Dev)
- chadicus/coding-standard: ^1.7
- phpunit/phpunit: ^6.1
- satooshi/php-coveralls: ^2.0
This package is auto-updated.
Last update: 2024-12-23 04:28:00 UTC
README
Middleware to add an OPTIONS route to existing routes.
Requirements
Requires PHP 7.0 (or later).
Composer
To add the library as a local, per-project dependency use Composer! Simply add a dependency on subjective-php/slim-options-middleware
to your project's composer.json
file such as:
composer require subjective-php/slim-options-middleware
Contact
Developers may be contacted at:
Project Build
With a checkout of the code get Composer in your PATH and run:
composer install ./vendor/bin/phpunit ./vendor/bin/phpcs
Slim 3 Example
require __DIR__ . '/vendor/autoload.php'; use SubjectivePHP\Slim\Middleware; // This Slim setting is required for the middleware to work $app = new Slim\App([ "settings" => [ "determineRouteBeforeAppMiddleware" => true, ] ]); // create the middleware $optionsMiddleware = new Middleware\OptionsMiddleware('*', ['Authorization', 'Content-Type']); $app->map(['GET', 'POST'], 'foos', function ($request, $response, $args) { return $response; }; $app->add($optionsMiddleware); $app->run();
Send an OPTIONS request to the API
curl -i -X OPTIONS http://example.org/foos
Response will be similar to
HTTP/1.1 200 OK
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Origin: *
Content-Type: text/html; charset=UTF-8
Date: Mon, 22 Apr 2019 12:45:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Length: 0
Connection: keep-alive