OxL Справочник OxL
РусскийEnglish

method Router.handle

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

Example:

oxl✓ проверяется в 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)!}")
}
Вывод
200 hi Ann
pub(api) fn handle(req: Request) -> Reply  net, io, time

Потокобезопасность. reads the router only; safe to call from many tasks at once.

С версии. 1.0.0-beta

Параметры

ИмяТип
reqRequest

Возвращает

Reply

Эффекты

net, io, time

Определено в: std/http/http.oxl:3685

См. также