Header gets normalized when using req.Header.Set
- Vorherrschende Sprache
- Go
- Sterne
- 5.5k
- Forks
- 372
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Setting headers via req.Header.Set causes header names to get normalized (e.g. Sec-WebSocket-Key -> Sec-Websocket-Key).
With gorilla/websocket, the same server accepts the connection without issues, but using this library the handshake fails.
After debugging, I found that the server was specifically expecting Sec-WebSocket-Key, while the client sent the normalized name.
Servers should ideally treat headers case-insensitively, but the normalization might be unintentional, so I wanted to report it.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, die Konstruktion des Request-Headers ab req.Header.Set nachzuverfolgen, und reproduziere den Handshake mit Sec-WebSocket-Key. Vergleiche den von dieser Bibliothek gesendeten Header-Namen mit der erwarteten Schreibweise und prüfe die relevanten Request- oder Handshake-Tests. Als erledigt gilt die Aufgabe, wenn der Handshake erfolgreich ist, sobald dieser Header gesetzt wird, und das Verhalten durch einen Test abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- go
- Bereich
- networking
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100