def reply.sent.observe

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

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

5619def reply.sent.observe(observer: Completion.Receipt, status: U32,
5620  sent: Socket & Result<&1, &1, U32 & String, Unit>) -> IO(Unit):
5621  (socket, result) = sent
5622  match result:
5623    case Fail{(code, message)}:
5624      do IO<Unit>:
5625        Socket.close(socket)
5626        Completion.report(observer, status, Completion.WriteFailed{code, message})
5627    case Done{unit}:
5628      do IO<Unit>:
5629        reply.sent.close((socket, Done{unit}))
5630        Completion.report(observer, status, Completion.HostAccepted{})

Uses (14)

Used by (2)