def Http.step
bend-kube-runtime@0.2.0.0 · src/http.bend:389
import bend-kube-runtime@0.2.0.0/src/http.bend as Http
import Base
389
390def Http.step(r: Resp, +b: U32) -> Resp:
391 match r:
392 case Resp{PHead{buf, tail}, h, out}:
393 Http.step.head(buf, tail, b)
394 case Resp{PLen{+left}, h, out}:
395 Resp{Http.count((left - 1 : U32), False{}), h, b <> out}
396 case Resp{PSize{size, ext, any}, h, out}:
397 Resp{Http.step.size(size, ext, any, b), h, out}
398 case Resp{PData{+left}, h, out}:
399 Resp{Http.count((left - 1 : U32), True{}), h, b <> out}
400 case Resp{PCrlf{}, h, out}:
401 Resp{Http.step.crlf(b), h, out}
402 case Resp{PTrail{blank}, h, out}:
403 Resp{Http.step.trail(blank, b), h, out}
404 case Resp{PClose{}, h, out}:
405 Resp{PClose{}, h, b <> out}
406 case Resp{PDone{}, h, out}:
407 Resp{PErr{"bytes after the body"}, h, out}
408 case Resp{PErr{m}, h, out}:
409 Resp{PErr{m}, h, out}
410 case Resp{PLost{m}, h, out}:
411 Resp{PLost{m}, h, out}