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# One byte.
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}

Uses (11)

Used by (1)