Socket.io: io.origins() no toma una matriz de cadenas

Creado en 3 mar. 2018  ·  4Comentarios  ·  Fuente: socketio/socket.io

Tú quieres:

  • [x] informar de un error
  • [ ] solicitar una función

Comportamiento actual

En la documentación establece que io.origins() toma una matriz de cadenas/orígenes (consulte el ejemplo https://socket.io/docs/server-api/#server-origins-value), cuando en realidad lo hace no. Solo funciona cuando se proporciona una cadena en lugar de una matriz.

Pasos para reproducir (si el comportamiento actual es un error)

Ajuste

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

y luego conectarse desde localhost:3000 no funciona.

Solo funciona cuando se configura io.origins('http://localhost:3000')

Comportamiento esperado

Configuración

  • Sistema operativo: macOS High Sierra 10.13.3
  • navegador: cromo 64.0.3282.186
  • versión socket.io: 2.0.4

Comentario más útil

Creo que el protocolo no debería incluirse:

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

Todos 4 comentarios

Creo que el protocolo no debería incluirse:

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

Funciona con el protocolo cuando se proporciona como una cadena, no cuando se proporciona en una matriz 😄

Pero gracias por la aclaración!

Creo que está implementado con indexOf , de ahí el comportamiento funky.

Añadiré una nota en la documentación.

Acabo de encontrarme con el mismo problema: una matriz con el protocolo en la URL, por ejemplo, io.origins([https://subdomain.domain.ee:*]) no funciona, mientras que io.origins([subdomain.domain.ee:*]) funciona.

Mientras que el ejemplo en la documentación incluye https:// en el ejemplo de matriz: io.origins(['https://foo.example.com:443']); .

En cuanto a este compromiso , parece que los documentos se cambiaron para incluir ese ejemplo, pero ¿todavía me pasó a mí?

Estaba usando [https://subdomain.domain.ee:*] como la URL, que no funcionó, ni con http:// (aunque en mi caso solo debería ser accesible a través https:// todos modos). Una vez que eliminé el protocolo, comenzó a funcionar.

Pensé en informar esto aquí por si acaso. ¿Me estaba perdiendo algo posiblemente?

¿Fue útil esta página
0 / 5 - 0 calificaciones