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{ Stage: "development", Port: 8080, ReadTimeout: 10, WriteTimeout: 5, Debug: true, AllowOrigins: []string{"*"}, } )
Functions ¶
Types ¶
type Config ¶
type Config struct { Stage string Port int ReadTimeout int WriteTimeout int Debug bool AllowOrigins []string IsEnableSwagger bool SwaggerPath string }
Config represents server specific config
type CustomBinder ¶
type CustomBinder struct {
// contains filtered or unexported fields
}
CustomBinder struct
func (*CustomBinder) Bind ¶
func (cb *CustomBinder) Bind(i interface{}, c echo.Context) error
Bind tries to bind request into interface, and if it does then validate it
type CustomValidator ¶
type CustomValidator struct {
V *validator.Validate
}
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
func (*ErrorHandler) Handle ¶
func (ce *ErrorHandler) Handle(err error, c echo.Context)
Handle is a centralized HTTP error handler.
type ErrorResponse ¶
type ErrorResponse struct { Error *HTTPError `json:"error"` } // @name ErrorResponse
ErrorResponse represents the error response
type HTTPError ¶
type HTTPError struct { Code int `json:"code"` Type string `json:"type"` Message string `json:"message"` Internal error `json:"-"` } // @name ErrorResponse
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) SetInternal ¶
SetInternal sets actual internal error for more details