Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Handling client connection loss when streaming

Aperta
#644 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
scala
Ambito
networking

Direzione di ricerca

Inizia dalla configurazione di BlazeClientBuilder e dal percorso client.stream(...).body.through(ServerSentEvent.decoder); verifica come viene segnalata la perdita di connessione quando lo stream è inattivo e i timeout delle richieste non sono definiti. Il lavoro è completato quando lo stream termina in caso di perdita di connessione, oppure quando vengono documentati l’uso previsto e l’approccio supportato per la cancellazione o il timeout.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug module:blaze-client

I'm trying to use a Server-Sent-Event endpoint. This is like a unidirectional web-socket where only the server can send data to the client. As there can be longer periods of time where no data is being sent by the server I'm disabling the idle and request timeouts:

BlazeClientBuilder[IO](ec)
      .withIdleTimeout(Duration.Undefined)
      .withRequestTimeout(Duration.Undefined)
      .resource
      .use { client =>
        client.stream(r).flatMap(_.body.through(ServerSentEvent.decoder))
}

It works fine but this code does not handle connection loss of the client (it just keeps running as if nothing has happened). I would expect that the stream terminates when the client loses the connection to the server. Is this a bug or am I using it in the wrong way?

Lingua principale
Scala
Stelle
371
Fork
63
Merge medio
1g 18h
PR unite (30g)
8

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di http4s/blaze

Tutte le issue di http4s/blaze

Issue simili

Altre issue su Scala

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.