def talk.completed.connection

bend-kit-http@0.38.2.0 · http.bend:5961

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

5961def talk.completed.connection(outcome: Completion.Outcome, next: Socket & Turn) -> IO(Maybe<&1, Socket & Turn>):
5962  match outcome:
5963    case Completion.HostAccepted{}:
5964      (socket, turn) = next
5965      IO.pure(Maybe<&1, Socket & Turn>, Some{(socket, turn)})
5966    case Completion.WriteFailed{code, message}:
5967      (socket, turn) = next
5968      do IO<Maybe<&1, Socket & Turn>>:
5969        Socket.close(socket)
5970        return None{}
5971    case Completion.IncompleteResponse{}:
5972      (socket, turn) = next
5973      do IO<Maybe<&1, Socket & Turn>>:
5974        Socket.close(socket)
5975        return None{}

Uses (11)

Used by (1)