filebrowser/backend/http/utils.go

31 lines
735 B
Go
Raw Permalink Normal View History

package http
import (
"errors"
"net/http"
"os"
2024-12-17 00:01:55 +00:00
libErrors "github.com/gtsteffaniak/filebrowser/backend/errors"
)
func errToStatus(err error) int {
switch {
case err == nil:
return http.StatusOK
case os.IsPermission(err):
return http.StatusForbidden
case os.IsNotExist(err), err == libErrors.ErrNotExist:
return http.StatusNotFound
case os.IsExist(err), err == libErrors.ErrExist:
return http.StatusConflict
case errors.Is(err, libErrors.ErrPermissionDenied):
return http.StatusForbidden
case errors.Is(err, libErrors.ErrInvalidRequestParams):
return http.StatusBadRequest
2021-01-11 21:33:36 +00:00
case errors.Is(err, libErrors.ErrRootUserDeletion):
return http.StatusForbidden
default:
return http.StatusInternalServerError
}
}