def reply.sent.observe

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

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

5627def reply.sent.observe(observer: Completion.Receipt, status: U32,
5628  sent: Socket & Result<&1, &1, U32 & String, Unit>) -> IO(Unit):
5629  (socket, result) = sent
5630  match result:
5631    case Fail{(code, message)}:
5632      do IO<Unit>:
5633        Socket.close(socket)
5634        Completion.report(observer, status, Completion.WriteFailed{code, message})
5635    case Done{unit}:
5636      do IO<Unit>:
5637        reply.sent.close((socket, Done{unit}))
5638        Completion.report(observer, status, Completion.HostAccepted{})

Uses (14)

Used by (2)