def server.chunk.put

emerging-ezhttp@0.21.0.0 · src/server.bend:228

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

228# one chunk the channel gave: framed and sent, or skipped when empty
229def server.chunk.put(sock: Socket, c: Http.Chunk, b: Bytes.Bytes,
230  more: Socket -> IO(Unit)) -> IO(Unit):
231  match c:
232    case Http.NoChunk{}:
233      more(sock)
234    case Http.Chunk{line}:
235      IO.bind(Socket & Step.Got<Unit>, Unit,
236        server.send(sock, Bytes.append(Bytes.append(Bytes.from_string(line), b),
237          Bytes.from_string("\r\n"))),
238        r => server.then(r, more))

Uses (12)

Used by (1)