howdy/server
Howdy server, using cowboy as the base server
Types
Returned to the server if the route has a matching template
pub opaque type RequestType(a)
Functions
pub fn get_routes(pid: Sender(Message(a))) -> Sender(Message(a))
Prints out the registered routes for debugging This will be better formatted when the server is ready for production
pub fn register_middleware(pid: Sender(Message(a)), middleware: fn(
fn(Request(BitString)) -> Response(BitBuilder),
) -> fn(Request(BitString)) -> Response(BitBuilder)) -> Sender(
Message(a),
)
registers middleware for the server
Example
case server.start(routes) {
Ok(pid) -> {
pid
|> server.add_middleware(fn(middleware) {
middleware
|> service.prepend_response_header("made-by", "howdy")
|> service.prepend_response_header("with-love", "howdy team")
})
|> server.get_routes()
erlang.sleep_forever()
}
Error(_) -> io.println("Server failed to start")
}
}
pub fn register_routes(pid: Sender(Message(a)), route: Route(b)) -> Sender(
Message(c),
)
registers additional routes after the inital routes have been
pub fn start(router: Route(Nil)) -> Result(
Sender(Message(a)),
StartError,
)
starts a new instance of Howdy setting the port number to 3000
pub fn start_with_config(router: Route(a), config: a) -> Result(
Sender(Message(b)),
StartError,
)
pub fn start_with_port(port: Int, router: Route(a), config: a) -> Result(
Sender(Message(a)),
StartError,
)
starts a new instance of Howdy and sets the port number