def h2.event.fold

bend-kit-http@0.38.2.0 · http.bend:3252

import bend-kit-http@0.38.2.0/http.bend as Http
import Base
import bend-kit-http2@0.4.0.0/http2.bend as H2

3252def h2.event.fold(acc: Result<&1, &1, Err, Maybe<&1, Res>>,
3253    event: H2.ClientEvent) -> Result<&1, &1, Err, Maybe<&1, Res>>:
3254  match acc:
3255    case Fail{e}:
3256      Fail{e}
3257    case Done{Some{res}}:
3258      Done{Some{res}}
3259    case Done{None{}}:
3260      match event:
3261        case H2.Response{id, headers, body}:
3262          h2.response(headers, body)
3263        case H2.Reset{id, code}:
3264          Fail{ErrBad{}}
3265        case H2.Shutdown{last, code}:
3266          Done{None{}}
3267        case H2.Pong{data}:
3268          Done{None{}}

Uses (6)

Used by (1)