Situação:
Estou desenvolvendo um plugin e usando o nginx como proxy reverso para o rails:3000, e tudo funciona muito bem, mas estou com problemas para acessar a API devido aos temidos erros de CORS, que todos conhecemos e “adoramos”
Acesso ao XMLHttpRequest em 'blah blah blah' a partir da origem 'foo bar bing' foi bloqueado pela política CORS: O cabeçalho 'Access-Control-Allow-Origin' não está presente no recurso solicitado.
Até agora, tentei adicionar cabeçalhos ao nginx, mas, por algum motivo, esses cabeçalhos não aparecem quando faço debug no Chrome.
Também tentei usar o nginx para modificar os proxy_headers do rails para o nginx, mas sem sucesso.
Além disso, tentei usar um plugin de extensão do Chrome para inserir os cabeçalhos, mas eles também não parecem funcionar, mesmo que um teste de CORS no navegador, usando um site de teste de CORS, mostre que tudo está permitido.
Em seguida, tentei adicionar o gem rack-cors, mas não consegui fazer o config.middleware funcionar devido a erros de freeze.
Isso está atrasando o desenvolvimento e parece que esbarrei em um muro ![]()
Existe alguma maneira de adicionar esses cabeçalhos diretamente no Discourse em um arquivo de configuração (ou, melhor ainda, no plugin), que envie vários cabeçalhos HTTP que queremos testar e enviar no ambiente de desenvolvimento?
Ou é possível fazer o gem rack-cors funcionar? Se sim, onde no plugin eu adicionaria o código?
Ref: RubyDoc.info: File: README – Documentation for rack-cors (0.4.0) – RubyDoc.info
Como mencionado, as (muitas) coisas que tentei até agora e acima na rubydocs resultam em “não está acontecendo aqui”, sempre a mesma coisa.
Até tentei esquecer o CORS por enquanto e apenas adicionar um único cabeçalho de cache HTTP, mas isso também foi um beco sem saída, do meu lado.
Acho que todos riem desses problemas relacionados a CORS, eu também; mas se você puder me mostrar como adicionar meus próprios cabeçalhos de teste (CORS ou não) enquanto estou no ambiente de teste de desenvolvimento, ficarei muito grato.
Obrigado.
