def sv.step

bend-kit-http@0.38.4.0 · http.bend:5856

import bend-kit-http@0.38.4.0/http.bend as Http
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

5856# A close mid-request is a request cut short (RFC 9112 §8).
5857def sv.step(closed: Bool, +max: Nat, +headers: U32, sv: Sv, piece: Bytes.Bytes) -> Turn:
5858  match closed:
5859    case True{}:
5860      match sv:
5861        case SvHead{buf}:
5862          sv.closed.head(buf)
5863        case SvLen{req, v11, left, parts}:
5864          TurnFail{400}
5865        case SvChunk{req, v11, n, st, parts}:
5866          TurnFail{400}
5867    case False{}:
5868      match sv:
5869        case SvHead{buf}:
5870          sv.head(max, headers, buf, piece)
5871        case SvLen{req, +v11, +left, parts}:
5872          sv.len(req, v11, left, parts, piece)
5873        case SvChunk{req, +v11, +n, st, parts}:
5874          sv.chunk(max, req, v11, n, st, parts, piece)

Uses (10)

Used by (3)