1
0
mirror of https://github.com/kataras/iris.git synced 2025-12-18 18:37:05 +00:00

more checks about creating new instance of controller on each request - this time if all bindings are static then set them to the initial-devpassed controller and if the total number of lengths are equal with these static dependencies then we ignore the injector and use the initial controller on each request - maximize the performance when simple controller is used - need more cleanup before new release but I hope until Christmas iris developers will be amazed

Former-commit-id: 32ed69368d1df2c25cdb712bb7f0cf47b2e36c05
This commit is contained in:
Gerasimos (Makis) Maropoulos
2017-12-18 00:16:10 +02:00
parent 40b40fa7d3
commit d5a38a0cd6
19 changed files with 232 additions and 117 deletions

View File

@@ -16,11 +16,11 @@ type TodoController struct {
Session *sessions.Session
}
// BeforeActivate called once before the server ran, and before
// BeforeActivation called once before the server ran, and before
// the routes and dependency binder builded.
// You can bind custom things to the controller, add new methods, add middleware,
// add dependencies to the struct or the method(s) and more.
func (c *TodoController) BeforeActivate(ca *mvc.ControllerActivator) {
func (c *TodoController) BeforeActivation(ca *mvc.ControllerActivator) {
// this could be binded to a controller's function input argument
// if any, or struct field if any:
ca.Dependencies.Add(func(ctx iris.Context) todo.Item {