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