Declaraciones públicas de zig/src/policy.zig (spire-zig (SDK consumido)).
apps/docs/generated/zig/spire.jsonPágina generada desde
spire@spire-0.2.0-XvnrRek1BgCX4Bh8miuITCQgkn0FqeQrYYE3goFfDcQd (zig/src/root.zig). No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla 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.ActorRuletype · línea 11
pub const ActorRule = enumSin ///.
policy.Ratetype · línea 21
pub const Rate = structSin ///.
policy.AuthorizeFnconst · línea 31
pub const AuthorizeFn = *const fn (actor: *const jwt.Actor, subject: []const u8) boolcan(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.Policytype · línea 33
pub const Policy = structSin ///.
policy.checkfn · línea 46
pub fn check(comptime subject: []const u8, comptime p: Policy) voidComprobaciones de compilación. Mensajes estables: los tests de
zig/test/compile_errors los esperan literalmente.
policy.TokenBuckettype · línea 67
pub const TokenBucket = structToken bucket en milésimas de token, sin flotantes.
policy.TokenBucket.initfn · línea 73
pub fn init(rate: Rate, now_ms: u64) TokenBucketSin ///.
policy.TokenBucket.takefn · línea 78
pub fn take(self: *TokenBucket, now_ms: u64) boolSin ///.
Policytype · línea 33
pub const Policy = structSin ///.