Current section
Files
Jump to
Current section
Files
src/gleatter@route.erl
-module(gleatter@route).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([new/0, with_method/2, with_path/2, with_query/2, with_request_body/2, with_response_body/2]).
-export_type([route/4]).
-type route(IOJ, IOK, IOL, IOM) :: {route,
gleam@http:method(),
gleatter@path:route_path(IOJ),
gleatter@query:route_query(IOK),
gleatter@body:route_body(IOL),
gleatter@body:route_body(IOM)}.
-file("/home/runner/work/gleatter/gleatter/src/gleatter/route.gleam", 24).
-spec new() -> route(nil, nil, nil, nil).
new() ->
{route,
get,
gleatter@path:static_path([]),
gleatter@query:empty_query(),
gleatter@body:empty_body(),
gleatter@body:empty_body()}.
-file("/home/runner/work/gleatter/gleatter/src/gleatter/route.gleam", 35).
-spec with_method(route(IOR, IOS, IOT, IOU), gleam@http:method()) -> route(IOR, IOS, IOT, IOU).
with_method(Route, Method) ->
erlang:setelement(2, Route, Method).
-file("/home/runner/work/gleatter/gleatter/src/gleatter/route.gleam", 43).
-spec with_path(route(any(), IPE, IPF, IPG), gleatter@path:route_path(IPL)) -> route(IPL, IPE, IPF, IPG).
with_path(Route, Path) ->
{route,
erlang:element(2, Route),
Path,
erlang:element(4, Route),
erlang:element(5, Route),
erlang:element(6, Route)}.
-file("/home/runner/work/gleatter/gleatter/src/gleatter/route.gleam", 57).
-spec with_query(route(IPR, any(), IPT, IPU), gleatter@query:route_query(IPZ)) -> route(IPR, IPZ, IPT, IPU).
with_query(Route, Query) ->
{route,
erlang:element(2, Route),
erlang:element(3, Route),
Query,
erlang:element(5, Route),
erlang:element(6, Route)}.
-file("/home/runner/work/gleatter/gleatter/src/gleatter/route.gleam", 71).
-spec with_request_body(
route(IQF, IQG, any(), IQI),
gleatter@body:route_body(IQN)
) -> route(IQF, IQG, IQN, IQI).
with_request_body(Route, Req_body) ->
{route,
erlang:element(2, Route),
erlang:element(3, Route),
erlang:element(4, Route),
Req_body,
erlang:element(6, Route)}.
-file("/home/runner/work/gleatter/gleatter/src/gleatter/route.gleam", 85).
-spec with_response_body(
route(IQT, IQU, IQV, any()),
gleatter@body:route_body(IRB)
) -> route(IQT, IQU, IQV, IRB).
with_response_body(Route, Res_body) ->
{route,
erlang:element(2, Route),
erlang:element(3, Route),
erlang:element(4, Route),
erlang:element(5, Route),
Res_body}.