HTTPClient should fail early if the internet connection is offline or disconnects
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- swift
- Ambito
- networking
Direzione di ricerca
Inizia leggendo il comportamento di HTTPClient descritto nell’issue e la configurazione condivisa in Sources/AsyncHTTPClient/Configuration+BrowserLike.swift. Confronta la gestione dei timeout di connessione e di lettura/scrittura con i comportamenti di URLSession collegati nel report. Il lavoro è completato quando le connessioni offline e le disconnessioni durante richieste attive falliscono prontamente, con un comportamento equivalente a quello dei casi URLSession richiesti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Another big bump in a transition from URLSession to HTTPClient:
HTTPClient has no way of knowing the internet is offline or is disconnected. An executed request that hasn't connected will just result in a connection timeout, and a connected request that becomes disconnected during read/write will result in a read/write timeout, which with the shared singleton configuration is 90 seconds (!!!).
As a comparison, URLSession's default configuration causes a request to fail immediately with NSURLErrorNotConnectedToInternet unless waitsForConnectivity is set to true, in which case it then waits the full timeoutIntervalForRequest before failing, equivalent to AHC's Timeout.connect. No matter what waitsForConnectivity is set to, a disconnection from the internet during a connected request's read/write results in an immediate failure with NSURLErrorNetworkConnectionLost
I think URLSession's default behavior is quite sensible, and it would be great to offer an equivalent in AHC.
- Lingua principale
- Swift
- Stelle
- 1.1k
- Fork
- 159
- Merge medio
- 1h 22m
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 swift-server/async-http-client
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
swift-server/async-http-client#946 · 2 commenti ·
-
RequestBag keeps the request body after an early response with status >= 300Forse già presa @beshkenadze l’ha presa 16 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
HTTP/2 stream stays half-closed after an early response with status >= 300Forse già presa @beshkenadze l’ha presa 16 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
Transaction keeps the request body after an early response with status >= 300Forse già presa @beshkenadze l’ha presa 16 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 22/100
Tutte le issue di swift-server/async-http-client
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
-
Bug: on hover a tab's name in Cra stops ~16 pt short of Arc's, with 24 pt of air before the ✕Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
VictorKildahl/cra#243 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
OneBusAway/vehicle-positions#260 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
eliasstravik/herdr-projects#789 · 1 commento ·
-
Linux: Remember Password fails silently when there is no default keyringForse già presa @datlechin l’ha presa oggi. Apertabug platform-linux
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
TableProApp/TablePro#4098 ·
I maintainer di solito rispondono entro 1 giorno