Documentation
¶
Index ¶
- func ArrContains[T string | int | float32](arr []T, val T) bool
- func GenerateQueryComponenFromStruct(model interface{}, skips []string) (string, []interface{}, string)
- func GetStructKey(field reflect.StructField) string
- func GetStructValue(value reflect.Value) interface{}
- func InitHandler(router http.Handler) http.Handler
- func MethodNotAllowedHandler(w http.ResponseWriter, r *http.Request)
- func PanicHandler(next http.Handler) http.Handler
- func RouteNotFoundHandler(w http.ResponseWriter, r *http.Request)
- func WriteJson(w http.ResponseWriter, data interface{})
- type App
- type AppImplementor
- type Apps
- type Controller
- type ControllerConfig
- type ControllerImpl
- type ErrorOption
- type Handler
- type HttpError
- func BadRequest(message, code string) *HttpError
- func Forbidden(message, code string) *HttpError
- func InternalServerError(message, code string) *HttpError
- func MethodNotAllowed(message, code string) *HttpError
- func NewErr(opts ...ErrorOption) *HttpError
- func NotFound(message, code string) *HttpError
- func TooManyRequest(message, code string) *HttpError
- func Unauthorized(message, code string) *HttpError
- func UnprocessableEntity(message, code string) *HttpError
- type Map
- type Options
- type Request
- type Response
- type Route
- type RouteOption
- type StringMap
- type ValidationError
- type WrittenResponseWriter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetStructKey ¶
func GetStructKey(field reflect.StructField) string
func GetStructValue ¶
func MethodNotAllowedHandler ¶
func MethodNotAllowedHandler(w http.ResponseWriter, r *http.Request)
func RouteNotFoundHandler ¶
func RouteNotFoundHandler(w http.ResponseWriter, r *http.Request)
func WriteJson ¶
func WriteJson(w http.ResponseWriter, data interface{})
Types ¶
type App ¶
type App struct {
Http *chi.Mux
*server.Config
TotalEndpoints int
// contains filtered or unexported fields
}
func (*App) AddController ¶
func (app *App) AddController(ctrl Controller)
type AppImplementor ¶
type AppImplementor struct{}
type Controller ¶
type Controller interface {
GetConfig() ControllerConfig
}
type ControllerConfig ¶
type ControllerImpl ¶
type ControllerImpl struct {
}
type ErrorOption ¶
type ErrorOption func(*HttpError)
func WithCode ¶
func WithCode(code string) ErrorOption
func WithData ¶
func WithData(data interface{}) ErrorOption
func WithMessage ¶
func WithMessage(message string) ErrorOption
func WithStatus ¶
func WithStatus(status int) ErrorOption
type HttpError ¶
type HttpError struct {
Message string `json:"message"`
Code string `json:"code"`
Status int `json:"status"`
Data *interface{} `json:"data,omitempty"`
}
func BadRequest ¶
func InternalServerError ¶
func MethodNotAllowed ¶
func NewErr ¶
func NewErr(opts ...ErrorOption) *HttpError
func TooManyRequest ¶
func Unauthorized ¶
func UnprocessableEntity ¶
func (*HttpError) Write ¶
func (err *HttpError) Write(w http.ResponseWriter)
type Options ¶
type Options func(api *App)
func ReadTimeout ¶
func WithAPITimeout ¶
func WithAppPort ¶
func WriteTimeout ¶
type Response ¶
type Response struct {
Message string `json:"message,omitempty"`
Data interface{} `json:"data,omitempty"`
Err error `json:"error,omitempty"`
MetaData *database.ResponseMetaData `json:"metadata,omitempty"`
}
func NewResponse ¶
func NewResponse() *Response
func (*Response) SetHTTPError ¶
func (*Response) SetMessage ¶
type Route ¶
type Route struct {
Method string
Path string
Handler Handler
Version int
Middlewares *[]func(http.Handler) http.Handler
}
func (*Route) GetVersionedPath ¶
type RouteOption ¶
type RouteOption func(*Route)
func WithMiddleware ¶
func WithMiddleware(handlers ...func(http.Handler) http.Handler) RouteOption
func WithPath ¶
func WithPath(path string) RouteOption
func WithVersion ¶
func WithVersion(version int) RouteOption
type ValidationError ¶
type ValidationError struct {
Field string `json:"field"`
Tag string `json:"tag"`
Value string `json:"value"`
}
func ValidateStruct ¶
func ValidateStruct(data interface{}) []*ValidationError
type WrittenResponseWriter ¶
type WrittenResponseWriter struct {
http.ResponseWriter
// contains filtered or unexported fields
}
func (*WrittenResponseWriter) WriteHeader ¶
func (w *WrittenResponseWriter) WriteHeader(status int)
func (*WrittenResponseWriter) Written ¶
func (w *WrittenResponseWriter) Written() bool
Click to show internal directories.
Click to hide internal directories.