OxL Reference

method Router.handle

Answers a request: the middleware chain, then the matching route.

Example:

oxl✓ checked in CI
use std.http { Router, Request, Reply, Header }

fn main() io, net, time {
  let router = Router.new().get("/hi/:name", (req: Request) => Reply.text("hi {req.param("name") ?? "?"}"))
  // no server needed: a router can be called with any Request, e.g. in a unit test
  let req = Request{ method: "GET", target: "/hi/Ann", path: "/hi/Ann", rawQuery: "", version: "HTTP/1.1", headers: [], body: Utf8.encode(""), peer: "", params: [] }
  let rep = router.handle(req)
  print("{rep.status} {Utf8.decode(rep.body)!}")
}
Output
200 hi Ann
pub(api) fn handle(req: Request) -> Reply  net, io, time

Thread safety. reads the router only; safe to call from many tasks at once.

Since. 1.0.0-beta

Parameters

NameType
reqRequest

Returns

Reply

Effects

net, io, time

Defined in: std/http/http.oxl:3685

See also