Socket.io: io.origins() akzeptiert kein Array von Strings

Erstellt am 3. März 2018  ·  4Kommentare  ·  Quelle: socketio/socket.io

Sie wollen:

  • [x] Fehler melden
  • [ ] eine Funktion anfordern

Aktuelles Verhalten

In der Dokumentation heißt es, dass io.origins() ein Array von Strings/Ursprüngen nimmt (siehe Beispiel https://socket.io/docs/server-api/#server-origins-value), obwohl dies tatsächlich der Fall ist nicht. Es funktioniert nur, wenn eine Zeichenfolge anstelle eines Arrays bereitgestellt wird.

Schritte zum Reproduzieren (wenn das aktuelle Verhalten ein Fehler ist)

Einstellung

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

und dann funktioniert die Verbindung von localhost:3000 nicht.

Es funktioniert nur, wenn io.origins('http://localhost:3000') eingestellt wird

Erwartetes Verhalten

Aufstellen

  • Betriebssystem: macOS High Sierra 10.13.3
  • Browser: Chrome 64.0.3282.186
  • socket.io-Version: 2.0.4

Hilfreichster Kommentar

Ich denke, das Protokoll sollte nicht enthalten sein:

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

Alle 4 Kommentare

Ich denke, das Protokoll sollte nicht enthalten sein:

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

Funktioniert mit dem Protokoll, wenn es als String bereitgestellt wird, nicht, wenn es in einem Array bereitgestellt wird 😄

Aber danke für die Aufklärung!

Ich denke, es ist mit einem indexOf implementiert, daher das funky Verhalten.

Ich werde einen Hinweis in der Dokumentation hinzufügen.

Ich bin gerade auf das gleiche Problem gestoßen - ein Array mit dem Protokoll in der URL, zB io.origins([https://subdomain.domain.ee:*]) funktioniert nicht, während io.origins([subdomain.domain.ee:*]) funktioniert.

Während das Beispiel in der Dokumentation https:// im Array-Beispiel enthält: io.origins(['https://foo.example.com:443']); .

Wenn man sich diesen Commit ansieht , scheint es, dass die Dokumentation geändert wurde, um dieses Beispiel aufzunehmen, aber es ist mir trotzdem passiert?

Ich habe [https://subdomain.domain.ee:*] als URL verwendet, was nicht funktioniert hat, ebenso wenig wie http:// (obwohl in meinem Fall sowieso nur über https:// zugegriffen werden sollte). Nachdem ich das Protokoll entfernt hatte, fing es an zu arbeiten.

Ich dachte, ich würde das hier nur für den Fall melden. Habe ich möglicherweise etwas übersehen?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen