def serve.stream.started

bend-kit-http@0.38.5.0 · http.bend:6732

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

6732def serve.stream.started(
6733  ~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),
6734  result: Unit & Result<&2, &1, StartupError, Server<Unit>>
6735) -> IO(Result<&2, &2, StartupError, Unit>):
6736  (owner, got) = result
6737  match got:
6738    case Fail{error}:
6739      IO.pure(Result<&2, &2, StartupError, Unit>, Fail{error})
6740    case Done{server}:
6741      do IO<Result<&2, &2, StartupError, Unit>>:
6742        exited : ServerExit <- server.stream.run(~S, ~start, ~piece, ~finish, ~abort, ~observe, server)
6743        server.exited(exited)
6744        return Done{Unit{}}

Uses (19)

Used by (1)