def talk.completed.connection

bend-kit-http@0.38.5.0 · http.bend:5953

import bend-kit-http@0.38.5.0/http.bend as Http
import Base
import bend-kit-http@0.38.5.0/completion.bend as Completion

5953def talk.completed.connection(outcome: Completion.Outcome, next: Socket & Turn) -> IO(Maybe<&1, Socket & Turn>):
5954  match outcome:
5955    case Completion.HostAccepted{}:
5956      (socket, turn) = next
5957      IO.pure(Maybe<&1, Socket & Turn>, Some{(socket, turn)})
5958    case Completion.WriteFailed{code, message}:
5959      (socket, turn) = next
5960      do IO<Maybe<&1, Socket & Turn>>:
5961        Socket.close(socket)
5962        return None{}
5963    case Completion.IncompleteResponse{}:
5964      (socket, turn) = next
5965      do IO<Maybe<&1, Socket & Turn>>:
5966        Socket.close(socket)
5967        return None{}

Uses (11)

Used by (1)