mirror of
https://github.com/mickael-kerjean/filestash
synced 2026-01-03 22:33:08 +01:00
feature (middleware): use translated errors in auth middleware
This commit is contained in:
parent
fd15e7255a
commit
8059730720
2 changed files with 16 additions and 5 deletions
|
|
@ -30,6 +30,17 @@ var (
|
|||
ErrInternal error = NewError("Internal Error", 500)
|
||||
)
|
||||
|
||||
func IsATranslatedError(err error) bool {
|
||||
if err == ErrNotFound || err == ErrNotAllowed || err == ErrPermissionDenied ||
|
||||
err == ErrNotValid || err == ErrInvalidPassword || err == ErrNotImplemented ||
|
||||
err == ErrNotSupported || err == ErrFilesystemError || err == ErrMissingDependency ||
|
||||
err == ErrNotAuthorized || err == ErrAuthenticationFailed || err == ErrCongestion ||
|
||||
err == ErrTimeout || err == ErrInternal {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type AppError struct {
|
||||
message string
|
||||
status int
|
||||
|
|
|
|||
|
|
@ -403,11 +403,11 @@ func SessionAuthMiddleware(ctx *App, res http.ResponseWriter, req *http.Request)
|
|||
|
||||
if _, err := model.NewBackend(ctx, session); err != nil {
|
||||
Log.Debug("session::authMiddleware 'backend connection failed %+v - %s'", session, err.Error())
|
||||
http.Redirect(
|
||||
res, req,
|
||||
"/?error=Not%20Valid&trace=backend error - "+err.Error(),
|
||||
http.StatusTemporaryRedirect,
|
||||
)
|
||||
url := "/?error=" + ErrNotValid.Error() + "&trace=backend error - " + err.Error()
|
||||
if IsATranslatedError(err) {
|
||||
url = "/?error=" + err.Error()
|
||||
}
|
||||
http.Redirect(res, req, url, http.StatusTemporaryRedirect)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue