-module(mist). -compile(no_auto_import). -export([run_service/3, serve/2]). -spec run_service( integer(), fun((gleam@http@request:request(bitstring())) -> gleam@http@response:response(gleam@bit_builder:bit_builder())), integer() ) -> {ok, nil} | {error, glisten:start_error()}. run_service(Port, Handler, Max_body_limit) -> _pipe = Handler, _pipe@1 = mist@handler:with(_pipe, Max_body_limit), _pipe@2 = glisten@tcp:acceptor_pool_with_data( _pipe@1, mist@handler:new_state() ), glisten:serve(Port, _pipe@2). -spec serve( integer(), fun((glisten@tcp:handler_message(), glisten@tcp:loop_state(mist@handler:state())) -> gleam@otp@actor:next(glisten@tcp:loop_state(mist@handler:state()))) ) -> {ok, nil} | {error, glisten:start_error()}. serve(Port, Handler) -> _pipe = Handler, _pipe@1 = glisten@tcp:acceptor_pool_with_data( _pipe, mist@handler:new_state() ), glisten:serve(Port, _pipe@1).