server

package
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// InternalErrorType type of common errors
	InternalErrorType = "INTERNAL"
	// GenericErrorType type of common errors
	GenericErrorType = "GENERIC"
	// ValidationErrorType type of common errors
	ValidationErrorType = "VALIDATION"
)

Variables

View Source
var (
	// DefaultConfig for the API server
	DefaultConfig = Config{
		Stage:        "development",
		Port:         8080,
		ReadTimeout:  10,
		WriteTimeout: 5,
		Debug:        true,
		AllowOrigins: []string{"*"},
	}
)

Functions

func New

func New(cfg *Config) *echo.Echo

New instantates new Echo server

func Start

func Start(e *echo.Echo, isDevelopment bool)

Start starts echo server

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 NewBinder

func NewBinder() *CustomBinder

NewBinder initializes custom server binder

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 NewValidator

func NewValidator() *CustomValidator

NewValidator creates new 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

func NewHTTPError(code int, etype string, message ...string) *HTTPError

NewHTTPError creates a new HTTPError instance

func NewHTTPGenericError

func NewHTTPGenericError(message string) *HTTPError

NewHTTPGenericError creates a new HTTPError instance for generic error

func NewHTTPInternalError

func NewHTTPInternalError(message string) *HTTPError

NewHTTPInternalError creates a new HTTPError instance for internal error

func NewHTTPValidationError

func NewHTTPValidationError(message string) *HTTPError

NewHTTPValidationError creates a new HTTPError instance for validation error

func (*HTTPError) Error

func (he *HTTPError) Error() string

Error makes it compatible with `error` interface

func (*HTTPError) SetInternal

func (he *HTTPError) SetInternal(err error) *HTTPError

SetInternal sets actual internal error for more details

Directories

Path Synopsis
middleware
jwt

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL