annotate vendor/asm89/stack-cors/README.md @ 7:848c88cfe644

More layout
author Chris Cannam
date Fri, 05 Jan 2018 13:59:44 +0000
parents 4c8ae668cc8c
children 7a779792577d
rev   line source
Chris@0 1 # Stack/Cors
Chris@0 2
Chris@0 3 Library and middleware enabling cross-origin resource sharing for your
Chris@0 4 http-{foundation,kernel} using application. It attempts to implement the
Chris@0 5 [W3C Recommendation] for cross-origin resource sharing.
Chris@0 6
Chris@0 7 [W3C Recommendation]: http://www.w3.org/TR/cors/
Chris@0 8
Chris@0 9 Master [![Build Status](https://secure.travis-ci.org/asm89/stack-cors.png?branch=master)](http://travis-ci.org/asm89/stack-cors)
Chris@0 10
Chris@0 11 ## Installation
Chris@0 12
Chris@0 13 Require `asm89/stack-cors` using composer.
Chris@0 14
Chris@0 15 ## Usage
Chris@0 16
Chris@0 17 This package can be used as a library or as [stack middleware].
Chris@0 18
Chris@0 19 [stack middleware]: http://stackphp.com/
Chris@0 20
Chris@0 21 ### Example: using the library
Chris@0 22
Chris@0 23 ```php
Chris@0 24 <?php
Chris@0 25
Chris@0 26 use Asm89\Stack\CorsService;
Chris@0 27
Chris@0 28 $cors = new CorsService(array(
Chris@0 29 'allowedHeaders' => array('x-allowed-header', 'x-other-allowed-header'),
Chris@0 30 'allowedMethods' => array('DELETE', 'GET', 'POST', 'PUT'),
Chris@0 31 'allowedOrigins' => array('localhost'),
Chris@0 32 'exposedHeaders' => false,
Chris@0 33 'maxAge' => false,
Chris@0 34 'supportsCredentials' => false,
Chris@0 35 ));
Chris@0 36
Chris@0 37 $cors->addActualRequestHeaders(Response $response, $origin);
Chris@0 38 $cors->handlePreflightRequest(Request $request);
Chris@0 39 $cors->isActualRequestAllowed(Request $request);
Chris@0 40 $cors->isCorsRequest(Request $request);
Chris@0 41 $cors->isPreflightRequest(Request $request);
Chris@0 42 ```
Chris@0 43
Chris@0 44 ## Example: using the stack middleware
Chris@0 45
Chris@0 46 ```php
Chris@0 47 <?php
Chris@0 48
Chris@0 49 use Asm89\Stack\Cors;
Chris@0 50
Chris@0 51 $app = new Cors($app, array(
Chris@0 52 // you can use array('*') to allow any headers
Chris@0 53 'allowedHeaders' => array('x-allowed-header', 'x-other-allowed-header'),
Chris@0 54 // you can use array('*') to allow any methods
Chris@0 55 'allowedMethods' => array('DELETE', 'GET', 'POST', 'PUT'),
Chris@0 56 // you can use array('*') to allow requests from any origin
Chris@0 57 'allowedOrigins' => array('localhost'),
Chris@0 58 'exposedHeaders' => false,
Chris@0 59 'maxAge' => false,
Chris@0 60 'supportsCredentials' => false,
Chris@0 61 ));
Chris@0 62 ```