def server.read.got

emerging-ezhttp@0.21.0.0 · src/server.bend:132

import emerging-ezhttp@0.21.0.0/src/server.bend as Server
import Base
import emerging-ezhttp@0.21.0.0/src/http.bend as Http
import emerging-ezhttp@0.21.0.0/src/step.bend as Step

132# a receive's answer: a failure loses the connection, no octets is the peer
133# closing, octets go onto the pieces
134def server.read.got(+ps: List<&2, String>, +have: Nat, need: Maybe<&2, Nat>,
135  r: Socket & Result<&1, &1, U32 & String, String>,
136  rest: Socket -> List<&2, String> -> Nat -> Maybe<&2, Nat>
137    -> IO(Socket & Step.Got<Http.Request>))
138  -> IO(Socket & Step.Got<Http.Request>):
139  (sock, res) = r
140  match res:
141    case Fail{(code, why)}:
142      IO.pure(Socket & Step.Got<Http.Request>,
143        (sock, Step.Lost{Step.step.line("read", why)}))
144    case Done{+text}:
145      server.read.text(sock, ps, have, need, text, String.is_empty(text), rest)

Uses (16)

Used by (1)