Error in handling protocol

Offen
#228 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
38/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
networking

Rechercherichtung

Read ws4py/client/init.py around lines 312-316 and inspect test_client.py, then reproduce a handshake containing Sec-WebSocket-Protocol with a bytes value. Add coverage for the protocol-handling failure and confirm the handshake completes without the reported TypeError.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

https://github.com/Lawouach/WebSocket-for-Python/blob/7f43f2a6bff1aabafad023652042439d7b9b8d84/ws4py/client/__init__.py#L312-L316

The value will be b'chat' if using same handshake information like the one on wiki.
So using join will result in TypeError: sequence item 0: expected str instance, int found.
I notice this code haven't been changed for 5 years. And I try to find an example of cherrypy and ws4py which contain a setting of Sec-WebSocket-Protocol for websocket server. But I can't find any. I also check the handshake information sent by simple example, and it didn't contain a Sec-WebSocket-Protocol header.
A more astonishing thing is there is no test about Sec-WebSocket-Protocol in test_client.py.

Vorherrschende Sprache
Python
Sterne
1.1k
Forks
285
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Lawouach/WebSocket-for-Python

Alle Issues in Lawouach/WebSocket-for-Python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.