Documentation
¶
Index ¶
Constants ¶
const ( // InternalErrorType type of common errors InternalErrorType = "INTERNAL" // GenericErrorType type of common errors GenericErrorType = "GENERIC" // ValidationErrorType type of common errors ValidationErrorType = "VALIDATION" )
Variables ¶
var ( // DefaultConfig for the API server DefaultConfig = Config{ Port: 8080, ReadHeaderTimeout: 10, ReadTimeout: 30, WriteTimeout: 60, Debug: true, AllowOrigins: []string{"*"}, BodyLimit: "512KB", BodyLimitSkipper: func(c echo.Context) bool { return strings.Contains(c.Path(), "/upload") || strings.HasPrefix(c.Path(), "/admin") }, } )
Functions ¶
Types ¶
type Config ¶
type Config struct {
Debug bool
// The port for the http server to listen on
Port int
// ReadHeaderTimeout is the amount of time allowed to read request headers.
ReadHeaderTimeout int
// ReadTimeout is the maximum duration for reading the entire request, including the body
ReadTimeout int
// WriteTimeout is the maximum duration before timing out writes of the response
WriteTimeout int
// CORS settings
AllowOrigins []string
// Maximum allowed size for a request body. ex: 512KB
BodyLimit string
// To skip the BodyLimit check. If not provided, skip when path contains `/upload` or has `/admin` prefix
BodyLimitSkipper middleware.Skipper
// The `Content-Security-Policy` header providing security against XSS and other code injection attacks.
// Sample for production: `default-src 'self'`
ContentSecurityPolicy string
}
Config represents server specific config
type CustomBinder ¶
type CustomBinder struct {
// contains filtered or unexported fields
}
CustomBinder struct
type CustomValidator ¶
CustomValidator holds custom validator
func (*CustomValidator) Validate ¶
func (cv *CustomValidator) Validate(i interface{}) error
Validate validates the request
type ErrorHandler ¶
type ErrorHandler struct {
// contains filtered or unexported fields
}
ErrorHandler represents the custom http error handler
func NewErrorHandler ¶
func NewErrorHandler(e *echo.Echo) *ErrorHandler
NewErrorHandler returns the ErrorHandler instance
type ErrorResponse ¶
type ErrorResponse struct {
Error *HTTPError `json:"error"`
}
ErrorResponse represents the error response swagger:model
type HTTPError ¶
type HTTPError struct {
Code int `json:"code"`
Type string `json:"type"`
Message string `json:"message"`
Internal error `json:"-"`
}
HTTPError represents an error that occurred while handling a request
func NewHTTPError ¶
NewHTTPError creates a new HTTPError instance
func NewHTTPGenericError ¶
NewHTTPGenericError creates a new HTTPError instance for generic error
func NewHTTPInternalError ¶
NewHTTPInternalError creates a new HTTPError instance for internal error
func NewHTTPValidationError ¶
NewHTTPValidationError creates a new HTTPError instance for validation error
func (*HTTPError) MarshalJSON ¶
MarshalJSON modification
func (*HTTPError) SetInternal ¶
SetInternal sets actual internal error for more details