Current section
Files
Jump to
Current section
Files
src/glace@internal@glace_types.erl
-module(glace@internal@glace_types).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export_type([glace_builder/1, route/1, config/1, middleware/1, execute_middleware/0, request/1, logger/0]).
-type glace_builder(QJO) :: {glace_builder,
integer(),
list(route(QJO)),
list(middleware(QJO)),
list(middleware(QJO)),
logger()}.
-type route(QJP) :: {route,
gleam@http:method(),
binary(),
fun((request(QJP)) -> gleam@http@response:response(mist:response_data()))}.
-type config(QJQ) :: {config, gleam@option:option(integer()), list(route(QJQ))}.
-type middleware(QJR) :: {middleware,
binary(),
fun((request(QJR)) -> {ok, request(QJR)} |
{error, gleam@http@response:response(mist:response_data())})}.
-type execute_middleware() :: before | 'after'.
-type request(QJS) :: {request,
gleam@http:method(),
list({binary(), binary()}),
mist@internal@http:connection(),
gleam@http:scheme(),
binary(),
gleam@option:option(integer()),
binary(),
gleam@option:option(binary()),
gleam@dict:dict(binary(), binary()),
QJS,
logger()}.
-type logger() :: {logger,
fun((binary()) -> nil),
fun((binary()) -> nil),
fun((binary()) -> nil),
fun((binary()) -> nil)}.