Skip to content

Route metadata

var rolesKey = meta.NewKey[[]string]("roles")
func Roles(r ...string) dygo.RouteOption { return rolesKey.Set(r) }
r = r.Use(Roles("user")) // controller level
r.Delete("/{id}", dygo.Handle(c.Delete), Roles("admin")) // route level
roles, ok := rolesKey.Get(ec) // route value, else controller value
all := meta.GetAllAndMerge(ec, rolesKey) // controller + route: ["user", "admin"]
// joined at startup and shared: do not modify