Documentation ¶
Index ¶
- Variables
- func AddRoutes(groupMiddlewares MiddlewareChain, routeFuncs ...func() []RouteInfo)
- func FmtBlue(s string) string
- func FmtRed(s string) string
- func FmtYellow(s string) string
- func GenerateRandomStringHelper(length int) (string, error)
- func UploadFile(tc *TupaContext, filePrefix, destFolder, formFileKey string) (multipart.FileHeader, error)
- func WriteJSONHelper(w http.ResponseWriter, status int, v any) error
- type APIError
- type APIFunc
- type APIHandlerErr
- type APIServer
- func (a *APIServer) GetGlobalMiddlewares() []MiddlewareFunc
- func (a *APIServer) MakeHTTPHandlerFuncHelper(routeInfo RouteInfo) http.HandlerFunc
- func (a *APIServer) New()
- func (a *APIServer) RegisterRoutes(routeInfos []RouteInfo)
- func (a *APIServer) UseGlobalAfterMiddleware(middleware ...MiddlewareFunc)
- func (a *APIServer) UseGlobalMiddlewares(middleware ...MiddlewareFunc)
- type Context
- type HTTPMethod
- type HandleFunc
- type MiddlewareChain
- type MiddlewareFunc
- type MiddlewareFuncCtx
- type RouteInfo
- type RouteManager
- type TupaContext
- func (tc *TupaContext) CtxValue(key interface{}) interface{}
- func (tc *TupaContext) CtxWithValue(key, value interface{}) *TupaContext
- func (tc *TupaContext) GetCtx() context.Context
- func (tc *TupaContext) GetReqCtx() context.Context
- func (tc *TupaContext) Param(param string) string
- func (tc *TupaContext) QueryParam(param string) string
- func (tc *TupaContext) QueryParams() map[string][]string
- func (tc *TupaContext) Request() *http.Request
- func (tc *TupaContext) Response() http.ResponseWriter
- func (tc *TupaContext) SendString(s string) error
- func (tc *TupaContext) SetContext(ctx context.Context)
- func (tc *TupaContext) SetRequest(r *http.Request)
- func (tc *TupaContext) SetResponse(w http.ResponseWriter)
Constants ¶
This section is empty.
Variables ¶
View Source
var AllowedMethods = map[HTTPMethod]bool{ MethodGet: true, MethodPost: true, MethodPut: true, MethodDelete: true, MethodPatch: true, MethodOptions: true, }
Functions ¶
func AddRoutes ¶
func AddRoutes(groupMiddlewares MiddlewareChain, routeFuncs ...func() []RouteInfo)
func UploadFile ¶
func UploadFile(tc *TupaContext, filePrefix, destFolder, formFileKey string) (multipart.FileHeader, error)
func WriteJSONHelper ¶
func WriteJSONHelper(w http.ResponseWriter, status int, v any) error
Types ¶
type APIFunc ¶
type APIFunc func(*TupaContext) error
type APIHandlerErr ¶ added in v0.0.34
func (APIHandlerErr) Error ¶ added in v0.0.34
func (e APIHandlerErr) Error() string
type APIServer ¶
type APIServer struct {
// contains filtered or unexported fields
}
func NewAPIServer ¶
func NewAPIServer(listenAddr string, routeManager RouteManager) *APIServer
func (*APIServer) GetGlobalMiddlewares ¶
func (a *APIServer) GetGlobalMiddlewares() []MiddlewareFunc
func (*APIServer) MakeHTTPHandlerFuncHelper ¶
func (a *APIServer) MakeHTTPHandlerFuncHelper(routeInfo RouteInfo) http.HandlerFunc
func (*APIServer) RegisterRoutes ¶
func (*APIServer) UseGlobalAfterMiddleware ¶ added in v0.0.40
func (a *APIServer) UseGlobalAfterMiddleware(middleware ...MiddlewareFunc)
func (*APIServer) UseGlobalMiddlewares ¶ added in v0.0.42
func (a *APIServer) UseGlobalMiddlewares(middleware ...MiddlewareFunc)
type Context ¶
type Context interface { Request() *http.Request Response() http.ResponseWriter SendString(s string) error Param(param string) string QueryParam(param string) string QueryParams() map[string][]string SetRequest(r *http.Request) SetResponse(w http.ResponseWriter) GetCtx() context.Context SetContext(ctx context.Context) Context() context.Context CtxWithValue(key, value interface{}) *TupaContext CtxValue(key interface{}) interface{} }
type HTTPMethod ¶
type HTTPMethod string
const ( MethodGet HTTPMethod = http.MethodGet MethodPost HTTPMethod = http.MethodPost MethodPut HTTPMethod = http.MethodPut MethodDelete HTTPMethod = http.MethodDelete MethodPatch HTTPMethod = http.MethodPatch MethodOptions HTTPMethod = http.MethodOptions )
type HandleFunc ¶ added in v0.0.34
type HandleFunc func(*TupaContext) error
type MiddlewareChain ¶
type MiddlewareChain []MiddlewareFunc
func (*MiddlewareChain) Use ¶
func (chain *MiddlewareChain) Use(middleware ...MiddlewareFunc)
type MiddlewareFunc ¶
type MiddlewareFuncCtx ¶ added in v0.0.35
type MiddlewareFuncCtx func(APIFunc) *TupaContext
type RouteInfo ¶
type RouteInfo struct { Path string Method HTTPMethod Handler APIFunc Middlewares []MiddlewareFunc AfterMiddlewares []MiddlewareFunc }
type RouteManager ¶ added in v0.0.41
type RouteManager func()
type TupaContext ¶
func NewTupaContext ¶ added in v0.0.34
func NewTupaContext(w http.ResponseWriter, r *http.Request) *TupaContext
func NewTupaContextWithContext ¶ added in v0.0.34
func NewTupaContextWithContext(w http.ResponseWriter, r *http.Request, ctx context.Context) *TupaContext
func (*TupaContext) CtxValue ¶ added in v0.0.35
func (tc *TupaContext) CtxValue(key interface{}) interface{}
func (*TupaContext) CtxWithValue ¶ added in v0.0.35
func (tc *TupaContext) CtxWithValue(key, value interface{}) *TupaContext
func (*TupaContext) GetCtx ¶ added in v0.0.34
func (tc *TupaContext) GetCtx() context.Context
func (*TupaContext) GetReqCtx ¶ added in v0.0.36
func (tc *TupaContext) GetReqCtx() context.Context
func (*TupaContext) Param ¶
func (tc *TupaContext) Param(param string) string
func (*TupaContext) QueryParam ¶
func (tc *TupaContext) QueryParam(param string) string
func (*TupaContext) QueryParams ¶
func (tc *TupaContext) QueryParams() map[string][]string
func (*TupaContext) Request ¶
func (tc *TupaContext) Request() *http.Request
func (*TupaContext) Response ¶
func (tc *TupaContext) Response() http.ResponseWriter
func (*TupaContext) SendString ¶
func (tc *TupaContext) SendString(s string) error
func (*TupaContext) SetContext ¶ added in v0.0.34
func (tc *TupaContext) SetContext(ctx context.Context)
func (*TupaContext) SetRequest ¶
func (tc *TupaContext) SetRequest(r *http.Request)
func (*TupaContext) SetResponse ¶
func (tc *TupaContext) SetResponse(w http.ResponseWriter)
Click to show internal directories.
Click to hide internal directories.