Documentation
¶
Index ¶
- Constants
- func ModuleBuilder() *moduleBuilder
- type App
- func (app *App) BindGlobalExceptionFilters(exceptionFilters ...common.ExceptionFilterable) *App
- func (app *App) BindGlobalGuards(guarders ...common.Guarder) *App
- func (app *App) BindGlobalInterceptors(interceptors ...common.Interceptable) *App
- func (app *App) BindGlobalMiddlewares(middlewares ...common.MiddlewareFn) *App
- func (app *App) Create(m *Module)
- func (app *App) EnableDevtool() *App
- func (app *App) EnableVersioning(v versioning.Versioning) *App
- func (app *App) Get(p Provider) any
- func (app *App) Listen(port int) error
- func (app *App) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (app *App) UseLogger(logger common.Logger) *App
- type Controller
- type Module
- type Provider
- type WSCommonLayer
- type WSMiddlewareLayer
- type WithValueKey
Constants ¶
View Source
const ( CONTEXT = "/*ctx.Context" WS_CONNECTION = "/*websocket.Conn" REQUEST = "/*http.Request" RESPONSE = "net/http/http.ResponseWriter" BODY = "github.com/dangduoc08/ginject/ctx/ctx.Body" FORM = "github.com/dangduoc08/ginject/ctx/ctx.Form" QUERY = "github.com/dangduoc08/ginject/ctx/ctx.Query" HEADER = "github.com/dangduoc08/ginject/ctx/ctx.Header" PARAM = "github.com/dangduoc08/ginject/ctx/ctx.Param" FILE = "github.com/dangduoc08/ginject/ctx/ctx.File" WS_PAYLOAD = "github.com/dangduoc08/ginject/ctx/ctx.WSPayload" NEXT = "/func()" REDIRECT = "/func(string)" )
link to aliases
Variables ¶
This section is empty.
Functions ¶
func ModuleBuilder ¶
func ModuleBuilder() *moduleBuilder
Types ¶
type App ¶
func (*App) BindGlobalExceptionFilters ¶
func (app *App) BindGlobalExceptionFilters(exceptionFilters ...common.ExceptionFilterable) *App
func (*App) BindGlobalInterceptors ¶
func (app *App) BindGlobalInterceptors(interceptors ...common.Interceptable) *App
func (*App) BindGlobalMiddlewares ¶
func (app *App) BindGlobalMiddlewares(middlewares ...common.MiddlewareFn) *App
func (*App) EnableDevtool ¶
func (*App) EnableVersioning ¶
func (app *App) EnableVersioning(v versioning.Versioning) *App
type Controller ¶
type Controller interface {
NewController() Controller
}
type Module ¶
type Module struct {
*sync.Mutex
IsGlobal bool
OnInit func()
// store REST module exception filters
RESTExceptionFilters []common.RESTLayer
// store REST module middlewares
RESTMiddlewares []common.RESTLayer
// store REST module guards
RESTGuards []common.RESTLayer
// store REST module interceptors
RESTInterceptors []common.RESTLayer
// store REST main handlers
RESTMainHandlers []common.RESTLayer
// store WS module middlewares
WSMiddlewares []struct {
Subprotocol string
EventName string
Handler any
// contains filtered or unexported fields
}
// store WS module guards
WSGuards []struct {
Subprotocol string
EventName string
Handler any
}
// store WS module interceptors
WSInterceptors []struct {
Subprotocol string
EventName string
Handler any
}
// store WS module exception filters
WSExceptionFilters []struct {
Subprotocol string
EventName string
Handler any
}
// store WS main handlers
WSMainHandlers []struct {
Subprotocol string
EventName string
Handler any
}
// contains filtered or unexported fields
}
type WSCommonLayer ¶
type WSMiddlewareLayer ¶
type WSMiddlewareLayer struct {
// controllerPath string
// handlerName string
Subprotocol string
EventName string
Handlers []func(*ctx.Context)
}
fix later change to private fields handle for devtool
type WithValueKey ¶
type WithValueKey string
Click to show internal directories.
Click to hide internal directories.