def server.reply
emerging-ezhttp@0.21.0.0 · src/server.bend:276
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
276
277def server.reply(sock: Socket, +method: String, a: Answer) -> IO(Unit):
278 match a:
279 case TextReply{status, headers, body}:
280 server.answer(sock, method, Http.Reply{status, headers, body})
281 case OctetsReply{+status, headers, bytes}:
282 server.octets.go(sock, status, headers, Bytes.length(bytes),
283 Step.step.bare(method, status))
284 case StreamReply{+status, +headers, +chunks}:
285 IO.bind(Socket & Step.Got<Unit>, Unit,
286 server.send.text(sock, Http.respond.stream(status, headers)),
287 r => server.then(r,
288 s => server.stream.body(s, chunks, Step.step.bare(method, status))))