Files
kopia/internal/server/api_error.go
Julio López 961a39039b refactor(general): use errors.New where appropriate (#4160)
Replaces 'errors.Errorf\("([^"]+)"\)' => 'errors.New("\1")'
2024-10-05 19:05:00 -07:00

41 lines
1.0 KiB
Go

package server
import (
"fmt"
"net/http"
"github.com/pkg/errors"
"github.com/kopia/kopia/internal/serverapi"
)
type apiError struct {
httpErrorCode int
apiErrorCode serverapi.APIErrorCode
message string
}
func requestError(apiErrorCode serverapi.APIErrorCode, message string) *apiError {
return &apiError{http.StatusBadRequest, apiErrorCode, message}
}
func unableToDecodeRequest(err error) *apiError {
return requestError(serverapi.ErrorMalformedRequest, "unable to decode request: "+err.Error())
}
func notFoundError(message string) *apiError {
return &apiError{http.StatusNotFound, serverapi.ErrorNotFound, message}
}
func accessDeniedError() *apiError {
return &apiError{http.StatusForbidden, serverapi.ErrorAccessDenied, "access is denied"}
}
func repositoryNotWritableError() *apiError {
return internalServerError(errors.New("repository is not writable"))
}
func internalServerError(err error) *apiError {
return &apiError{http.StatusInternalServerError, serverapi.ErrorInternal, fmt.Sprintf("internal server error: %v", err)}
}