def serve.write.body
bend-kit-http@0.38.2.0 · http.bend:6923
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-time@0.3.0.0/time.bend as Time
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
6923def serve.write.body(~S: Type, ~write: S -> Writer -> Completion.Receipt -> IO(Writer & Completion.Receipt), ~dispose: S -> IO(Unit),
6924 observer: Completion.Receipt, receipt: Completion.Receipt, status: U32, settings: Limits,
6925 keep: Bool, rest: Bytes.Bytes, state: S, s: Socket, mode: WriterMode, suppress: Bool, until: Time.Duration) -> IO(Maybe<&1, Socket & Turn>):
6926 match suppress:
6927 case True{}:
6928 do IO<Maybe<&1, Socket & Turn>>:
6929 dispose(state)
6930 serve.write.finish(observer, receipt, status, settings, keep, rest, Writer{Some{s}, WriteNone{}, until, Completion.HostAccepted{}})
6931 case False{}:
6932 do IO<Maybe<&1, Socket & Turn>>:
6933 result : Writer & Completion.Receipt <- write(state, Writer{Some{s}, mode, until, Completion.HostAccepted{}}, receipt)
6934 serve.write.returned(observer, status, settings, keep, rest, result)