snelg/cakephp-cors

This package is abandoned and no longer maintained. The author suggests using the ozee31/cakephp-cors package instead.
There is no license information available for the latest version (dev-master) of this package.

Cors plugin for CakePHP

Installs: 2 226

Dependents: 0

Suggesters: 0

Security: 0

Stars: 19

Watchers: 2

Forks: 3

Open Issues: 2

Type:cakephp-plugin

dev-master 2017-03-03 21:17 UTC

This package is auto-updated.

Last update: 2019-07-05 19:56:07 UTC


README

Build Status Coverage Downloads

A simple plugin to add CORS headers to specified requests.

#For CakePHP 3.3+, use https://github.com/ozee31/cakephp-cors

Requirements

  • CakePHP 3.0-3.2
  • PHP 5.4+

Installation

You can install this plugin into your CakePHP application using composer.

To install this plugin, in your terminal type:

composer require snelg/cakephp-cors:dev-master

Unlocking CORS for a single controller

Define a single key within the routes array in the DispatcherFactory options array:

DispatcherFactory::add('Cors.Cors', ['routes' => [
    'ControllerClassName'
]]);

Unlocking CORS for a controller scoped to a single action

Define a nested array consisting of 'controller' => 'action' within the routes array in DispatcherFactor options:

DispatcherFactory::add('Cors.Cors', ['routes' => [
    'ControllerClassName' => 'some_action',
]]);

Scoping CORS to particular origins

DispatcherFactory::add('Cors.Cors', ['routes' => [
    'ControllerClassName' => [
        'action_one' => ['origin' => 'somesite.com']
]]);

Scoping CORS to particular methods

DispatcherFactory::add('Cors.Cors', ['routes' => [
   'ControllerClassName' => [
       'action_one' => [
           'origin' => 'somesite.com',
           'methods' => ['PUT', 'DELETE']
       ]
]]);

Setting CORS within Router::connect

Router::scope('/', function ($routes) {
    $routes->connect('/public_api',
    ['controller' => 'ControllerClass', 'action' => 'action_one', 'cors' => true]]
});
}

Router::connect with custom origins, methods, and headers

Router::scope('/', function ($routes) {
    $routes->connect('/public_api', [
        'controller' => 'ControllerClass',
        'action' => 'action_one',
        'cors' => [
            'origin' => 'your_origin.com',
            'methods' => ['PUT', 'DELETE'],
            'headers' => []
        ]
    ]);
});
}

Support

For bugs and feature requests, please use the issues section of this repository.

Contributing

To contribute to this plugin please follow a few basic rules.

Creators

Glen Sawyer && Wes King

License

Copyright 2015, Glen Sawyer and Wes King

Licensed under The MIT License Redistributions of files must retain the above copyright notice.