Estou tentando entender como funciona o recurso de message-bus usado pelo Discourse para ficar online com novas mensagens e eventos. Especificamente, estou interessado em como ele é usado no plugin de chat recente do Discourse.
Fazendo um pouco de engenharia reversa, vejo que quando entro em uma sala de chat, toda vez que o message-bus faz uma enquete via “meusite.com”, os cabeçalhos da solicitação são duplicados, por exemplo:
Isso funciona no meu site, mas quando tento fazer uma solicitação de um site externo ou aplicativo móvel, recebo o erro:
Access to XMLHttpRequest at 'https://forum-dev.srepe.com/message-bus/f6e2303ff7704f608ef2b821fe210e90/poll'
from origin 'http://localhost:8100' has been blocked by CORS policy:
The 'Access-Control-Allow-Origin' header contains multiple values
'https://forum-dev.srepe.com, *', but only one is allowed.
Então, se eu entendi, o message_bus define seus próprios “Headers”? Existe alguma maneira de usar os “Headers” já definidos pela configuração do Discourse, pelo menos aqueles com comportamento CORS?
Busco evitar “headers” duplicados ao usar o message_bus. Isso me permite fazer requisições fora do site do fórum.
Receio que isto seja demasiado personalizado para que eu possa dar conselhos aqui, aprecio totalmente que mais pessoas usem o message bus, mas terá de depurar as coisas aqui.