Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RequireObjectPolicy ¶
func RequireObjectPolicy( e *Engine, resource, action string, load ObjectLoader, buildInput ObjectInputBuilder, ) func(http.Handler) http.Handler
RequireObjectPolicy enforces OPA policy for object-level checks while letting modules keep ownership of resource loading details.
func RequirePolicy ¶
RequirePolicy returns middleware that evaluates the OPA policy for every request. resource and action are static per route (e.g. "frameworks", "write"). Unauthenticated requests are redirected to /login.
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine wraps a compiled OPA query. Thread-safe; compile once at startup.
type ObjectInputBuilder ¶
type ObjectInputBuilder func(*http.Request, middleware.SessionUser) (map[string]any, error)
ObjectInputBuilder computes dynamic OPA input for object-level decisions.
type ObjectLoader ¶
ObjectLoader prepares request context with the loaded object data. It returns (updatedRequest, true) when the request can proceed. It should write the response and return false on not-found/internal failures.