Versions in this module Expand all Collapse all v1 v1.13.1 Feb 8, 2017 Changes in this version + const AuthZApiImplements + const AuthZApiRequest + const AuthZApiResponse + func GetPluginGetter() plugingetter.PluginGetter + func SetPluginGetter(pg plugingetter.PluginGetter) + type Ctx struct + func NewCtx(authZPlugins []Plugin, user, userAuthNMethod, requestMethod, requestURI string) *Ctx + func (ctx *Ctx) AuthZRequest(w http.ResponseWriter, r *http.Request) error + func (ctx *Ctx) AuthZResponse(rm ResponseModifier, r *http.Request) error + type Middleware struct + func NewMiddleware(names []string, pg plugingetter.PluginGetter) *Middleware + func (m *Middleware) SetPlugins(names []string) + func (m *Middleware) WrapHandler(...) func(ctx context.Context, w http.ResponseWriter, r *http.Request, ...) error + type PeerCertificate x509.Certificate + func (pc *PeerCertificate) MarshalJSON() ([]byte, error) + func (pc *PeerCertificate) UnmarshalJSON(b []byte) error + type Plugin interface + AuthZRequest func(*Request) (*Response, error) + AuthZResponse func(*Request) (*Response, error) + Name func() string + type Request struct + RequestBody []byte + RequestHeaders map[string]string + RequestMethod string + RequestPeerCertificates []*PeerCertificate + RequestURI string + ResponseBody []byte + ResponseHeaders map[string]string + ResponseStatusCode int + User string + UserAuthNMethod string + type Response struct + Allow bool + Err string + Msg string + type ResponseModifier interface + FlushAll func() error + Hijacked func() bool + OverrideBody func(b []byte) + OverrideHeader func(b []byte) error + OverrideStatusCode func(statusCode int) + RawBody func() []byte + RawHeaders func() ([]byte, error) + StatusCode func() int + func NewResponseModifier(rw http.ResponseWriter) ResponseModifier