Socket.io: io.origins() não recebe um array de strings

Criado em 3 mar. 2018  ·  4Comentários  ·  Fonte: socketio/socket.io

Você quer:

  • [x] reportar um bug
  • [ ] solicitar um recurso

Comportamento atual

Na documentação afirma, que io.origins() recebe um array de strings/origins (veja o exemplo https://socket.io/docs/server-api/#server-origins-value), quando na verdade ele faz não. Ele só funciona ao fornecer uma string em vez de uma matriz.

Etapas para reproduzir (se o comportamento atual for um bug)

Contexto

io.origins(['http://localhost:3000'])

e, em seguida, conectar de localhost:3000 não funciona.

Só funciona ao definir io.origins('http://localhost:3000')

Comportamento esperado

Configuração

  • SO: macOS High Sierra 10.13.3
  • navegador: Chrome 64.0.3282.186
  • versão do socket.io: 2.0.4

Comentários muito úteis

Eu acho que o protocolo não deve ser incluído:

io.origins(['localhost:3000', 'localhost:3001']);
// or
io.origins('localhost:3000');

Todos 4 comentários

Eu acho que o protocolo não deve ser incluído:

io.origins(['localhost:3000', 'localhost:3001']);
// or
io.origins('localhost:3000');

Funciona com protocolo quando fornecido como string, não quando fornecido em array 😄

Mas obrigado pelo esclarecimento!

Eu acho que é implementado com um indexOf , daí o comportamento estranho.

Vou adicionar uma nota na documentação.

Acabei de me deparar com o mesmo problema - uma matriz com o protocolo na URL, por exemplo, io.origins([https://subdomain.domain.ee:*]) não funciona, enquanto io.origins([subdomain.domain.ee:*]) funciona.

Enquanto o exemplo na documentação inclui https:// no exemplo de array: io.origins(['https://foo.example.com:443']); .

Olhando para este commit , parece que os documentos foram alterados para incluir esse exemplo, mas isso ainda aconteceu comigo?

Eu estava usando [https://subdomain.domain.ee:*] como URL, o que não funcionou, nem com http:// (embora no meu caso deva ser acessível apenas via https:// qualquer maneira). Depois que removi o protocolo, ele começou a funcionar.

Eu pensei em relatar isso aqui apenas no caso. Eu estava possivelmente faltando alguma coisa?

Esta página foi útil?
0 / 5 - 0 avaliações