1
0
mirror of https://github.com/kataras/iris.git synced 2025-12-19 10:57: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

@@ -69,6 +69,16 @@ type TodoController struct {
Session *sessions.Session
}
func (c *TodoController) BeforeActivation(b mvc.BeforeActivation) {
b.Handle("GET", "/custom", "Custom")
}
func (c *TodoController) AfterActivation(b mvc.BeforeActivation) {
if !b.IsRequestScoped() {
panic("TodoController should be request scoped, we have a 'Session' which depends on the context.")
}
}
func (c *TodoController) Get() string {
count := c.Session.Increment("count", 1)
@@ -77,6 +87,10 @@ func (c *TodoController) Get() string {
return body
}
func (c *TodoController) Custom() string {
return "custom"
}
type TodoSubController struct {
Session *sessions.Session
}