yumemi/gen/emit/gate

面の門 src/gen/gate.mjs ── 生成 shell の entry lifecycle hook。

値の運び(route の値・session・query を読みへ渡すこと)はここに無い。

Values

pub fn csp_for(
  gate: gate.Gate,
  path: String,
) -> option.Option(String)

Page の route の CSP の header の値(0.12)。csp の宣言のうち route に当たるものの指令を宣言順に足し合わせ、 同じ指令の host は 1 つにまとめる。各指令の先頭に 'self' を 1 つ自動で足す(framework の受け口・遷移の取得・ media は同じ origin にある。外す口は持たない)。当たる宣言が無ければ None。client 遷移の route 表(emit/front の navigation)も同じ値を Page ごとに持つ。

pub fn csp_routes(
  gate: gate.Gate,
  route_paths: List(String),
) -> List(#(String, String))

route ごとの CSP(CSP を持つ route だけ)。

pub fn csp_unmatched(gate: gate.Gate) -> option.Option(String)

route に当たらない path の CSP(0.14.3 r2、失敗の頁を宣言した面の門だけが使う)。Every を含む csp の宣言の 指令を、route の CSP と同じ規則で足し合わせる。無ければ None。

pub fn text(
  header: String,
  gate: gate.Gate,
  route_paths: List(String),
) -> String
pub fn text_failure(
  header: String,
  gate: gate.Gate,
  route_paths: List(String),
  live: Bool,
  failure: Bool,
) -> String

failure(0.14.3、面が src/failure.gleam で失敗の頁を宣言した):門の平文の失敗(403・404・503・Deny)を serve の 2 つ目の引数(生成の shell の失敗の頁)へ渡し、route に当たらない path の頁を求める要求にも Every の 規則を掛ける。shell と共に使う plain・isPlain・wantsPage を export する。False の出力は 0.14.2 と同じ字。

pub fn text_live(
  header: String,
  gate: gate.Gate,
  route_paths: List(String),
  live: Bool,
) -> String

live(0.14、面に断片の口がある ── 0.14.1 から Live に限らず Page の sp に Fixed の Block があれば):断片の口の 要求(header x-yumemi-block)には数える印を差さない。門の判定(成人の申告・同意・session)は頁と同じに掛かる。

✨ Search Document