Mayo 30, 2014
enzo
En la entrada de blog Como implementar el Cross-Origin Resource Sharing en Drupal 7 explique los conceptos del Cross-Origin que es vital para el desarrollo de API que estarán abierta al publico en general o filtrado a un cierto rango de clientes por medio del dominio o la IP.
Bueno hoy quiero contarles como hacer esta misma implementación pero usando Silex. Para llevar acabo esta tarea haremos uso de los Middlewares de Silex explicados en la entrada de blog Que son los Middlewares de Silex.
Luego de haber definido todos los enrutadores de nuestra API en Silex, solo debemos aplicar el Middleware after, para indicar desde donde puede ser accesada nuestra API, como se muestra a continuación.
// Enable CORS
$app->after(function (Request $request, Response $response) {
//$response->headers->set('Access-Control-Allow-Origin', '*');
$response->headers->set('Access-Control-Allow-Origin', 'http://localhost:8081');
});
$app->run();
Como se aprecia en el código, en el Middleware after modificamos el objeto Response para indicar desde que servidores se puede hacer la solicitud, esta cabezera ser validara por el browser para habilitar o desabilitar el llamado Cross-Origin. Es posible con el carácter * que nuestra API estará abierta a cualquier dominio o ser mas especifico respecto de un dominio y puerto especifico.
Espero que haya sido de su agrado.