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# a handler's answer, shaped for the request's method (HTTP-SRV-3, 6 to 8)
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))))

Uses (17)

Used by (1)