123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package security
- import (
- "fmt"
- "net/http"
- "github.com/imgproxy/imgproxy/v3/ierrors"
- )
- type (
- SignatureError string
- ImageResolutionError string
- SecurityOptionsError struct{}
- SourceURLError string
- )
- func newSignatureError(msg string) error {
- return ierrors.Wrap(
- SignatureError(msg),
- 1,
- ierrors.WithStatusCode(http.StatusForbidden),
- ierrors.WithPublicMessage("Forbidden"),
- ierrors.WithShouldReport(false),
- )
- }
- func (e SignatureError) Error() string { return string(e) }
- func newImageResolutionError(msg string) error {
- return ierrors.Wrap(
- ImageResolutionError(msg),
- 1,
- ierrors.WithStatusCode(http.StatusUnprocessableEntity),
- ierrors.WithPublicMessage("Invalid source image"),
- ierrors.WithShouldReport(false),
- )
- }
- func (e ImageResolutionError) Error() string { return string(e) }
- func newSecurityOptionsError() error {
- return ierrors.Wrap(
- SecurityOptionsError{},
- 1,
- ierrors.WithStatusCode(http.StatusForbidden),
- ierrors.WithPublicMessage("Invalid URL"),
- ierrors.WithShouldReport(false),
- )
- }
- func (e SecurityOptionsError) Error() string { return "Security processing options are not allowed" }
- func newSourceURLError(imageURL string) error {
- return ierrors.Wrap(
- SourceURLError(fmt.Sprintf("Source URL is not allowed: %s", imageURL)),
- 1,
- ierrors.WithStatusCode(http.StatusNotFound),
- ierrors.WithPublicMessage("Invalid source URL"),
- ierrors.WithShouldReport(false),
- )
- }
- func (e SourceURLError) Error() string { return string(e) }
|