Skip to content

Instantly share code, notes, and snippets.

@elmarputz
Created March 6, 2017 15:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elmarputz/7a5935cce16b198890bb5690cd8e97df to your computer and use it in GitHub Desktop.
Save elmarputz/7a5935cce16b198890bb5690cd8e97df to your computer and use it in GitHub Desktop.
RESTFilter.php
<?php
namespace App\Routing\Filter;
use Cake\Event\Event;
use Cake\Routing\DispatcherFilter;
class RESTFilter extends DispatcherFilter
{
public function beforeDispatch(Event $event)
{
$request = $event->data['request'];
$response = $event->data['response'];
$origin = $request->header('Origin');
if (!empty($origin))
{
$response->header('Access-Control-Allow-Origin', $origin);
$response->header('Access-Control-Allow-Credentials', 'true');
}
if ($request->method() == 'OPTIONS')
{
$method = $request->header('Access-Control-Request-Method');
$headers = $request->header('Access-Control-Request-Headers');
$response->header('Access-Control-Allow-Headers', $headers);
$response->header('Access-Control-Allow-Methods', empty($method) ? 'GET, POST, PUT, DELETE, OPTIONS, HEADER' : $method);
$response->header('Access-Control-Allow-Credentials', 'true');
$response->header('Access-Control-Max-Age', '10');
$response->send();
die;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment