2012-07-30 9 views
18

¿Existe alguna manera inteligente de habilitar CORS con Cloud Endpoints?¿Cómo habilitar CORS con Cloud Endpoints?

(Adición de "Access-Control-Allow-Origen: *" o algo similar a la respuesta)

Gracias, Brandon

+0

me gustaría habilitarlo para la depuración en el lado del cliente también. :) – Branflake2267

+0

¿CORS no está habilitado por defecto para todos los dominios? Esto puede ser un error. Si es así, puedo presentar una falla internamente. –

+0

Debo mencionar que sería útil poder depurar esto localmente, tal vez modificar el archivo appengine-web.xml. He configurado la solicitud de XHR2 desde mi editor de Dart, pero necesito activar cors para que funcione también en los dominios de forma local. – Branflake2267

Respuesta

0

Esto depende de si usted tiene el control sobre las cabeceras de los criterios de valoración - a través de la aplicación o del servidor web que sirve la página original que contiene scripts que desean realizar solicitudes de dominios cruzados.

JSON-P todavía parece mucho más popular, ya sea debido a la falta de soporte en el servidor de las plataformas o por la desconfianza de que funcione con los clientes (por ejemplo, navegadores web heredados), mientras que JSON-P suele funcionar.

+0

JSONP debería funcionar con Endpoints, pero como de costumbre solo para solicitudes GET. –

+0

sí, esa es solo una de las cosas más desagradables al respecto;) Estoy sorprendido de que CORS no sea más conocido, esté interesado en ver qué otras respuestas tiene la gente –

+0

Preferiría intentar habilitar los COR añadiendo el encabezado de respuesta a las respuestas de los puntos finales. La pregunta es cómo. :) – Branflake2267

2

Como CORS trabaja en producción para Cloud Endpoints. Lo que hice para probar en devserver (local) fue deshabilitar la seguridad del navegador. Para Dartium (creo que también Chrome) usa el parámetro --disable-web-security en el inicio.

+0

Esto es lo que estaba buscando, enviar solicitud a GAE en devserver – altfuns

1

Trate de añadir esto al archivo YAML de su punto final:

x-google-endpoints: 
    - name: "{your-endpoint-host-name}" 
    allowCors: "true" 
Cuestiones relacionadas