Referencia Zigspire-zig (SDK consumido)

zig/src/policy.zig

Declaraciones públicas de zig/src/policy.zig (spire-zig (SDK consumido)).

ImplementadoSin versión del tren todavía· generada desde apps/docs/generated/zig/spire.json

Página generada desde spire@spire-0.2.0-XvnrRek1BgCX4Bh8miuITCQgkn0FqeQrYYE3goFfDcQd (zig/src/root.zig). No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere.

Política de un handler (dec-0119 §4, §7). No tiene valor por defecto: Router.register la pide como parámetro comptime obligatorio, y check rechaza al compilar las políticas que no deniegan por defecto (allowlist vacía o con comodines, actor obligatorio sin autorización, límites a cero). Un handler sin política no compila.

policy.ActorRule

type · línea 11

pub const ActorRule = enum

Sin ///.

policy.Rate

type · línea 21

pub const Rate = struct

Sin ///.

policy.AuthorizeFn

const · línea 31

pub const AuthorizeFn = *const fn (actor: *const jwt.Actor, subject: []const u8) bool

can(actor, acción, recurso) de dec-0118 §3, evaluado con el actor verificado. La acción es el subject; el recurso lo saca el handler del payload si hace falta una decisión más fina.

policy.Policy

type · línea 33

pub const Policy = struct

Sin ///.

policy.check

fn · línea 46

pub fn check(comptime subject: []const u8, comptime p: Policy) void

Comprobaciones de compilación. Mensajes estables: los tests de zig/test/compile_errors los esperan literalmente.

policy.TokenBucket

type · línea 67

pub const TokenBucket = struct

Token bucket en milésimas de token, sin flotantes.

policy.TokenBucket.init

fn · línea 73

pub fn init(rate: Rate, now_ms: u64) TokenBucket

Sin ///.

policy.TokenBucket.take

fn · línea 78

pub fn take(self: *TokenBucket, now_ms: u64) bool

Sin ///.

Policy

type · línea 33

pub const Policy = struct

Sin ///.