OxL Reference

method Site.embedded

The site made of the files of comptime.embedDir(...); rules are tried in order.

Example:

oxl✓ checked in CI
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()
  print("{s.count()}")
}
Output
1
pub(api) static fn embedded(files: List<(str, str, str, bytes, i64)>, rules: List<CacheRule> = []) -> Site

Complexity. O(n) in the number of files.

Since. 1.0.0-beta

Parameters

NameType
filesList<(str, str, str, bytes, i64)>
rulesList<CacheRule> = []

Returns

Site

Effects

none declared (pure unless the body says otherwise)

Defined in: std/web/web.oxl:168

See also