method Site.reply
Answers a request of a browser. Use it as the handler of / and /*rest.
Example:
use std.web { Site, CacheRule, cacheRule }
use std.http { Request, Reply }
// one file, index.html, gzip-compressed "hello" (comptime.embedDir builds such tuples: path, media type, ETag, gzip data, size)
fn site() -> Site {
let gz = b"\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xcb\x48\xcd\xc9\xc9\x07\x00\x86\xa6\x10\x36\x05\x00\x00\x00"
Site.embedded([("index.html", "text/html", "\"v1\"", gz, 5)], [cacheRule("*.html", "no-cache")])
}
fn get(path: str) -> Request {
Request{ method: "GET", target: path, path: path, rawQuery: "", version: "HTTP/1.1", headers: [], body: Utf8.encode(""), peer: "", params: [] }
}
fn main() io {
let s = site()
let ok = s.reply(get("/"))
let missing = s.reply(get("/nope.html"))
print("{ok.status} {missing.status}")
}Output
200 404
pub(api) fn reply(req: Request) -> ReplyThread safety. reads the site only; safe to call from many tasks at once.
Since. 1.0.0-beta
Parameters
| Name | Type |
|---|---|
req | Request |
Returns
Effects
none declared (pure unless the body says otherwise)
Defined in: std/web/web.oxl:278