type auditHandler … var _ … var _ … var _ … // WithAudit is a decorator for a admission phase. It saves annotations // of attribute into the audit event. Attributes passed to the Admit and // Validate function must be instance of privateAnnotationsGetter or // AnnotationsGetter, otherwise an error is returned. func WithAudit(i Interface) Interface { … } func (handler *auditHandler) Admit(ctx context.Context, a Attributes, o ObjectInterfaces) error { … } func (handler *auditHandler) Validate(ctx context.Context, a Attributes, o ObjectInterfaces) error { … } func ensureAnnotationGetter(a Attributes) error { … } func (handler *auditHandler) logAnnotations(ctx context.Context, a Attributes) { … }