type authHandler … func hasWriteRootAccess(lg *zap.Logger, sec v2auth.Store, r *http.Request, clientCertAuthEnabled bool) bool { … } func userFromBasicAuth(lg *zap.Logger, sec v2auth.Store, r *http.Request) *v2auth.User { … } func userFromClientCertificate(lg *zap.Logger, sec v2auth.Store, r *http.Request) *v2auth.User { … } func hasRootAccess(lg *zap.Logger, sec v2auth.Store, r *http.Request, clientCertAuthEnabled bool) bool { … } func hasKeyPrefixAccess(lg *zap.Logger, sec v2auth.Store, r *http.Request, key string, recursive, clientCertAuthEnabled bool) bool { … } func hasGuestAccess(lg *zap.Logger, sec v2auth.Store, r *http.Request, key string) bool { … } func writeNoAuth(lg *zap.Logger, w http.ResponseWriter, r *http.Request) { … } func handleAuth(mux *http.ServeMux, sh *authHandler) { … } func (sh *authHandler) baseRoles(w http.ResponseWriter, r *http.Request) { … } func (sh *authHandler) handleRoles(w http.ResponseWriter, r *http.Request) { … } func (sh *authHandler) forRole(w http.ResponseWriter, r *http.Request, role string) { … } type userWithRoles … type usersCollections … func (sh *authHandler) baseUsers(w http.ResponseWriter, r *http.Request) { … } func (sh *authHandler) handleUsers(w http.ResponseWriter, r *http.Request) { … } func (sh *authHandler) forUser(w http.ResponseWriter, r *http.Request, user string) { … } type enabled … func (sh *authHandler) enableDisable(w http.ResponseWriter, r *http.Request) { … }