def writer.finish.mode

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

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

6847def writer.finish.mode(s: Socket, mode: WriterMode, until: Time.Duration) -> IO(Maybe<&1, Socket> & Completion.Outcome):
6848  match mode:
6849    case WriteNone{}:
6850      IO.pure(Maybe<&1, Socket> & Completion.Outcome, (Some{s}, Completion.HostAccepted{}))
6851    case WriteKnown{left}:
6852      writer.finish.known(U32.is_zero(left), s)
6853    case WriteChunk{}:
6854      do IO<Maybe<&1, Socket> & Completion.Outcome>:
6855        end : Writer <- writer.raw(Writer{Some{s}, WriteChunk{}, until, Completion.HostAccepted{}}, Bytes.from_string("0\r\n\r\n"))
6856        return writer.result(end)

Uses (16)

Used by (1)