def serve.stream.started

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

import bend-kit-http@0.38.2.0/http.bend as Http
import Base
import bend-kit-http@0.38.2.0/completion.bend as Completion
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

6740def serve.stream.started(
6741  ~S: Type, ~start: Req -> IO(S), ~piece: S -> Bytes.Bytes -> IO(S & Bool), ~finish: S -> IO(Reply), ~abort: S -> StreamAbort -> IO(Unit), ~observe: U32 -> Completion.Outcome -> IO(Unit),
6742  result: Unit & Result<&2, &1, StartupError, Server<Unit>>
6743) -> IO(Result<&2, &2, StartupError, Unit>):
6744  (owner, got) = result
6745  match got:
6746    case Fail{error}:
6747      IO.pure(Result<&2, &2, StartupError, Unit>, Fail{error})
6748    case Done{server}:
6749      do IO<Result<&2, &2, StartupError, Unit>>:
6750        exited : ServerExit <- server.stream.run(~S, ~start, ~piece, ~finish, ~abort, ~observe, server)
6751        server.exited(exited)
6752        return Done{Unit{}}

Uses (19)

Used by (1)