wisp_roadrunner
Run Wisp apps on Roadrunner.
import gleam/erlang/process
import roadrunner_gleam
import wisp
import wisp_roadrunner
pub fn main() {
let secret_key_base = wisp.random_string(64)
let assert Ok(_) =
wisp_roadrunner.handler(handle_request, secret_key_base)
|> roadrunner_gleam.new
|> roadrunner_gleam.read_body_on_demand
|> roadrunner_gleam.port(8000)
|> roadrunner_gleam.start
process.sleep_forever()
}
Values
pub fn handler(
handler: fn(request.Request(wisp.Connection)) -> response.Response(
wisp.Body,
),
secret_key_base: String,
) -> fn(request.Request) -> response.Response(response.Body)
Turn a Wisp handler into one roadrunner_gleam runs.
Wisp reads request bodies in pieces as it needs them, up to its own
limits, so run the listener with roadrunner_gleam.read_body_on_demand:
otherwise roadrunner reads each body whole before the handler runs.
The secret key base signs and encrypts cookies. Use the same one each time the app runs, and keep it secret.