The http module implements a http server. Functions (handlers) can be associated to a specific route using [[handle]]. Routes are matched per [[fnmatch::fnmatch]]. The http module relies on the event loop [[ev]]. Sample code: use ev; use fmt; use http; fn homepage( req: *http::request, res: *http::reswriter ) (void | io::error) = { http::reply(req, res, 200, "OK")?; http::header(res, "Content-Type", "text/plain")?; fmt::fprintln(res, "Hello, world!")?; }; fn page2(...) // ... export fn main() void = { let sock = // ... http::handle("/", &homepage); http::handle("/2", &page2); http::listen_sock(sock, null); ev::mainloop()!; };