-module(mist). -compile(no_auto_import). -export([run_service/3, run_service_ssl/5, serve/2, serve_ssl/4]). -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@acceptor:new_pool_with_data( _pipe@1, mist@handler:new_state() ), glisten:serve(Port, _pipe@2). -spec run_service_ssl( integer(), binary(), binary(), fun((gleam@http@request:request(bitstring())) -> gleam@http@response:response(gleam@bit_builder:bit_builder())), integer() ) -> {ok, nil} | {error, glisten:start_error()}. run_service_ssl(Port, Certfile, Keyfile, Handler, Max_body_limit) -> _pipe = Handler, _pipe@1 = mist@handler:with(_pipe, Max_body_limit), _pipe@2 = glisten@acceptor:new_pool_with_data( _pipe@1, mist@handler:new_state() ), glisten:serve_ssl(Port, Certfile, Keyfile, _pipe@2). -spec serve( integer(), fun((glisten@handler:handler_message(), glisten@handler:loop_state(mist@handler:state())) -> gleam@otp@actor:next(glisten@handler:loop_state(mist@handler:state()))) ) -> {ok, nil} | {error, glisten:start_error()}. serve(Port, Handler) -> _pipe = Handler, _pipe@1 = glisten@acceptor:new_pool_with_data( _pipe, mist@handler:new_state() ), glisten:serve(Port, _pipe@1). -spec serve_ssl( integer(), binary(), binary(), fun((glisten@handler:handler_message(), glisten@handler:loop_state(mist@handler:state())) -> gleam@otp@actor:next(glisten@handler:loop_state(mist@handler:state()))) ) -> {ok, nil} | {error, glisten:start_error()}. serve_ssl(Port, Certfile, Keyfile, Handler) -> _pipe = Handler, _pipe@1 = glisten@acceptor:new_pool_with_data( _pipe, mist@handler:new_state() ), glisten:serve_ssl(Port, Certfile, Keyfile, _pipe@1).