A 204 response results in timeouts if connection is kept-alive...
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- cpp
- Ambito
- networking
Direzione di ricerca
Non è indicato alcun file o test. Inizia tracciando l’analisi del corpo della risposta intorno a contentLengthReceived e alla chiamata a socket.recv(), quindi riproduci una risposta 204 su una connessione keep-alive. Il lavoro è completato quando una risposta 204 conforme viene restituita senza attendere altri dati dal socket o andare in timeout.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi,
I've noticed that a response with status 204 to, e.g., a POST request always results in a timeout if the connection is kept alive. RFC9110 specifies in 8.6 (https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length) that A server MUST NOT send a Content-Length header field in any response with a status code of 1xx (Informational) or 204 (No Content).
It seems that the library is still trying to parse the body of a 204 response. But since the header of such a response does not contain a Content-Length field, contentLengthReceived stays false and the library tries to receive more data via the socket. If the server closes the connection, we won't receive any more data from the socket and the function returns the response. But if the connection is kept-alive, the socket.recv()-call will timeout as the server is not sending any more data but the socket is still open.
- Lingua principale
- C++
- Stelle
- 969
- Fork
- 200
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di elnormous/HTTPRequest
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
elnormous/HTTPRequest#79 · 2 reazioni ·
-
A fix for receive responseAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
elnormous/HTTPRequest#77 ·
-
A couple of ideasAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
elnormous/HTTPRequest#76 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
elnormous/HTTPRequest#75 · 1 commento ·
-
Post requests don't work.Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
elnormous/HTTPRequest#74 · 1 commento ·
Tutte le issue di elnormous/HTTPRequest
Issue simili
-
bug
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
isl-org/Open3D#7585 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Unconfirmed bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
luanti-org/luanti#17605 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
area: config area: firmware priority: P2 - medium size: S type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Mizithra/ActiveTerrain#16 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
grumpycoders/pcsx-redux#2171 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni