def wire.loop.on

emerging-ezhttp@0.21.0.0 · src/wire.bend:89

import emerging-ezhttp@0.21.0.0/src/wire.bend as Wire
import Base
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
import emerging-ezhttp@0.21.0.0/src/wirespec.bend as Spec
import emerging-ezhttp@0.21.0.0/src/http.bend as Http

89# a judged read: read again, or close and answer what was received
90def wire.loop.on(+secure: Bool, s: Socket, r: Spec.Read, acc: Bytes.Bytes,
91  more: Socket -> Http.Hear -> Bytes.Bytes -> IO(Answer)) -> IO(Answer):
92  match r:
93    case Spec.Again{h}:
94      more(s)(h)(acc)
95    case Spec.Heard{}:
96      IO.bind(Unit, Answer, wire.close(secure, s),
97        _u => IO.pure(Answer, Received{acc}))

Uses (11)

Used by (2)