def server.read.more

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

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

98# octets that arrived: stop when the request is whole, else read again
99def server.read.more(sock: Socket, +ps: List<&2, String>, +have: Nat,
100  +need: Maybe<&2, Nat>, whole: Bool,
101  rest: Socket -> List<&2, String> -> Nat -> Maybe<&2, Nat>
102    -> IO(Socket & Step.Got<Http.Request>))
103  -> IO(Socket & Step.Got<Http.Request>):
104  match whole:
105    case True{}:
106      server.read.done(sock, ps)
107    case False{}:
108      rest(sock)(ps)(have)(need)

Uses (11)

Used by (1)