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)