def server.stream.go
emerging-ezhttp@0.21.0.0 · src/server.bend:256
import emerging-ezhttp@0.21.0.0/src/server.bend as Server
import Base
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
import emerging-ezhttp@0.21.0.0/src/http.bend as Http
import emerging-ezhttp@0.21.0.0/src/step.bend as Step
256
257def server.stream.go(fuel: Nat, sock: Socket, +ch: Chan(Bytes.Bytes))
258 -> IO(Unit):
259 match fuel:
260 case 0n:
261 IO.bind(Socket & Step.Got<Unit>, Unit,
262 server.send.text(sock, Http.chunk.end()), server.close)
263 case 1n+f:
264 IO.bind(Maybe<&1, Bytes.Bytes>, Unit, Chan.recv(Bytes.Bytes, ch),
265 m => server.chunk.got(sock, m, s => server.stream.go(f, s, ch)))