123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package main
- import (
- "fmt"
- "net/http"
- "github.com/imgproxy/imgproxy/v3/ierrors"
- )
- type (
- ResponseWriteError struct{ error }
- InvalidURLError string
- TooManyRequestsError struct{}
- InvalidSecretError struct{}
- )
- // Error categories which are used in metrics
- // NOTE: possibly -> metrics (?)
- const (
- categoryTimeout = "timeout"
- categoryImageDataSize = "image_data_size"
- categoryPathParsing = "path_parsing"
- categorySecurity = "security"
- categoryQueue = "queue"
- categoryDownload = "download"
- categoryProcessing = "processing"
- categoryIO = "IO"
- categoryStreaming = "streaming"
- )
- func newResponseWriteError(cause error) *ierrors.Error {
- return ierrors.Wrap(
- ResponseWriteError{cause},
- 1,
- ierrors.WithPublicMessage("Failed to write response"),
- )
- }
- func (e ResponseWriteError) Error() string {
- return fmt.Sprintf("Failed to write response: %s", e.error)
- }
- func (e ResponseWriteError) Unwrap() error {
- return e.error
- }
- func newInvalidURLErrorf(status int, format string, args ...interface{}) error {
- return ierrors.Wrap(
- InvalidURLError(fmt.Sprintf(format, args...)),
- 1,
- ierrors.WithStatusCode(status),
- ierrors.WithPublicMessage("Invalid URL"),
- ierrors.WithShouldReport(false),
- )
- }
- func (e InvalidURLError) Error() string { return string(e) }
- func newTooManyRequestsError() error {
- return ierrors.Wrap(
- TooManyRequestsError{},
- 1,
- ierrors.WithStatusCode(http.StatusTooManyRequests),
- ierrors.WithPublicMessage("Too many requests"),
- ierrors.WithShouldReport(false),
- )
- }
- func (e TooManyRequestsError) Error() string { return "Too many requests" }
|