def drain.step
bendonnect-rpc@0.1.0.0 · src/transport/client.bend:131
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
131def drain.step(m: Http.Stream & Result<&1, &1, Http.Err, Maybe<&1, Bytes.Bytes>>, acc: Bytes.Bytes) -> IO(Bytes.Bytes):
132 (st, r) = m
133 match r:
134 case Fail{e}:
135 do IO<Bytes.Bytes>:
136 Http.stream.close(st)
137 return acc
138 case Done{mb}:
139 match mb:
140 case None{}:
141 do IO<Bytes.Bytes>:
142 Http.stream.close(st)
143 return acc
144 case Some{b}:
145 drain(st, Bytes.append(acc, b))