def head.ok

bendonnect-rpc@0.1.0.0 · src/transport/client.bend:264

import bendonnect-rpc@0.1.0.0/src/transport/client.bend as Client
import Base
import bend-kit-http@0.36.0.0/http.bend as Http
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
import bendonnect-rpc@0.1.0.0/src/code.bend as Code
import bendonnect-rpc@0.1.0.0/src/error.bend as E

264def head.ok(~on_msg: Bytes.Bytes -> IO(Unit), collect: Bool, ctok: Bool, st: Http.Stream, headers: Map<&2, List<&2, String>>) -> IO(Result<&1, &1, E.Error, Response>):
265  match ctok:
266    case False{}:
267      do IO<Result<&1, &1, E.Error, Response>>:
268        Http.stream.close(st)
269        return fail(Code.Unknown{}, "unexpected response content-type")
270    case True{}:
271      do IO<Result<&1, &1, E.Error, Response>>:
272        first : Item <- recv(st, Bytes.new(0))
273        r : Result<&1, &1, E.Error, Fin> <- pump(~on_msg, collect, first, Nil{})
274        return done(headers, r)

Uses (22)

Used by (1)