-module(glace@internal@glace_builder). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([new/0, port/2, start_with_context/2]). -file("/home/ram/code/gleam/glace/src/glace/internal/glace_builder.gleam", 14). -spec new() -> glace@internal@glace_types:glace_builder(any()). new() -> {glace_builder, 4000, [], [], [], glace@internal@glace_logger:default_logger()}. -file("/home/ram/code/gleam/glace/src/glace/internal/glace_builder.gleam", 24). -spec port(glace@internal@glace_types:glace_builder(QSY), integer()) -> glace@internal@glace_types:glace_builder(QSY). port(Builder, Port) -> _record = Builder, {glace_builder, Port, erlang:element(3, _record), erlang:element(4, _record), erlang:element(5, _record), erlang:element(6, _record)}. -file("/home/ram/code/gleam/glace/src/glace/internal/glace_builder.gleam", 28). -spec start_with_context(glace@internal@glace_types:glace_builder(QTB), QTB) -> gleam@erlang@process:subject(gleam@otp@supervisor:message()). start_with_context(Builder, Context) -> _assert_subject = begin _pipe = fun(Req) -> Request = glace@internal@glace_request:make_request( Req, maps:new(), Context, erlang:element(6, Builder) ), Res = case glace@internal@glace_middleware:execute_middlewares( Request, erlang:element(4, Builder) ) of {ok, Req@1} -> case glace@internal@glace_router:match_route( Req@1, erlang:element(3, Builder) ) of {ok, Response} -> case glace@internal@glace_middleware:execute_middlewares( Req@1, erlang:element(5, Builder) ) of {ok, _} -> Response; {error, Error} -> Error end; {error, nil} -> glace@internal@glace_response:not_found() end; {error, Error@1} -> Error@1 end, Res end, _pipe@1 = mist:new(_pipe), _pipe@2 = mist:port(_pipe@1, erlang:element(2, Builder)), mist:start_http(_pipe@2) end, {ok, Process} = case _assert_subject of {ok, _} -> _assert_subject; _assert_fail -> erlang:error(#{gleam_error => let_assert, message => <<"Pattern match failed, no pattern matched the value."/utf8>>, value => _assert_fail, module => <<"glace/internal/glace_builder"/utf8>>, function => <<"start_with_context"/utf8>>, line => 32}) end, gleam_erlang_ffi:sleep_forever(), Process.