def accepted

gralha-http-server@0.1.0.0 · server.bend:105

import gralha-http-server@0.1.0.0/server.bend as Server
import Base
import gralha-http-core@0.1.0.0/http.bend as Http

105def accepted(~S: Type, ~handle: Http.Request -> S -> IO(S & Http.Response),
106  got: Listener & Result<&1, &1, U32 & String, Socket>, state: S, +max: U32) -> IO(Listener & S):
107  (listener, result) = got
108  match result:
109    case Fail{err}:
110      IO.pure(Listener & S, (listener, state))
111    case Done{socket}:
112      do IO<Listener & S>:
113        request : Socket & Maybe<&2, Http.Request> <- read(socket, max)
114        next : S <- answer(~S, ~handle, request, state)
115        return (listener, next)

Uses (15)

Used by (1)