handler

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OneReturnValueAndIsError  returnValuesType // only return value and is error
	OneReturnValueAndNotError                  // only return value and not an error

)
View Source
const (
	Ok = "Ok"
)

Variables

View Source
var ErrMethodPrefix = errors.New("invalid method name prefix")
View Source
var Factory = HandlerFactory{
	constant.MethodGet:    defaultHandlerCreator,
	constant.MethodPost:   defaultHandlerCreator,
	constant.MethodPut:    defaultHandlerCreator,
	constant.MethodDelete: defaultHandlerCreator,
}

Functions

func FailHandler

func FailHandler(ctx *fasthttp.RequestCtx, data string)

func FailServerInternalErrorHandler

func FailServerInternalErrorHandler(ctx *fasthttp.RequestCtx, data string)

FailServerInternalErrorHandler Internal Server Error

func NotFoundHandler

func NotFoundHandler(ctx *fasthttp.RequestCtx)

func RestSuccessHandler

func RestSuccessHandler(ctx *fasthttp.RequestCtx, data any)

func SuccessHandler

func SuccessHandler(ctx *fasthttp.RequestCtx, data string)

Types

type CreatorFunc

type CreatorFunc = func(rcvr *reflect.Value, method *reflect.Method) (IHandler, error)

CreatorFunc define func of HandlerCreator

type HandlerCreator

type HandlerCreator struct {
	MethodPrefix string
	Creator      CreatorFunc
}

func (HandlerCreator) New

func (p HandlerCreator) New(rcvr *reflect.Value, method *reflect.Method) (IHandler, error)

New common creator Method spec:

(rcvr *XXXX) YYYY(ctx jet.Ctx, req ZZZZ) (err error)
(rcvr *XXXX) YYYY(ctx jet.Ctx, req ZZZZ) (ret RRRR, err error)
(rcvr *XXXX) YYYY(ctx jet.Ctx, req ZZZZ)
(rcvr *XXXX) YYYY(ctx jet.Ctx, req ZZZZ) (ret RRRR, err error)
(rcvr *XXXX) YYYY(ctx jet.Ctx, req ZZZZ) (err error)
(rcvr *XXXX) YYYY(ctx jet.Ctx) (err error)
(rcvr *XXXX) YYYY(ctx jet.Ctx) (ret RRRR, err error)
(rcvr *XXXX) YYYY() (err error)
(rcvr *XXXX) YYYY() (ret RRRR, err error)

type HandlerFactory

type HandlerFactory map[string]CreatorFunc

func (HandlerFactory) Create

func (factory HandlerFactory) Create(rcvr *reflect.Value, method *reflect.Method) (string, IHandler, error)

func (HandlerFactory) RegisterFactory

func (factory HandlerFactory) RegisterFactory(prefix string, newFactoryFunc creatorRegisterFunc)

RegisterFactory You can replace the default factory implementation, but you must bear the risk for this. Calmly, you can also add new factories to implement your own processing logic.

You can enhance the default factory or do some pre- or post-processing, like before- or after-RegisterHook.

type IHandler

type IHandler interface {
	ServeHTTP(ctx *fasthttp.RequestCtx, args []string)
	AddHook(hooks *hook.Hook)
}

Jump to

Keyboard shortcuts

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