iris
iris copied to clipboard
[BUG] router.APIContainer.RegisterDependency not works with zero input function
Describe the bug The following code will produce panic.
package main
import (
"github.com/kataras/iris/v12"
)
func main() {
app := iris.Default()
app.ConfigureContainer(func(api *iris.APIContainer) {
api.RegisterDependency(func() float64 {
return float64(1)
})
})
}
To Reproduce
- In
main.gopackage main import ( "github.com/kataras/iris/v12" ) func main() { app := iris.Default() app.ConfigureContainer(func(api *iris.APIContainer) { api.RegisterDependency(func() float64 { return float64(1) }) }) } - Run (
go run main.go) - Panic
[DBUG] 2021/07/22 22:09 Log level set to "debug" [DBUG] 2021/07/22 22:09 Using <./access.log> to log requests [DBUG] 2021/07/22 22:09 Using <UUID4> to identify requests panic: bad value: function has zero inputs goroutine 1 [running]: github.com/kataras/iris/v12/hero.fromFunc(0x1894580, 0x1a24730, 0x13, 0xc00027fb00, 0x100f600) /Users/yz/go/pkg/mod/github.com/kataras/iris/[email protected]/hero/dependency.go:144 +0x4cb github.com/kataras/iris/v12/hero.resolveDependency(0x1894580, 0x1a24730, 0x13, 0xc0002cd500, 0xc00027fb00, 0xc00027fa40, 0xc, 0xc, 0x1) /Users/yz/go/pkg/mod/github.com/kataras/iris/[email protected]/hero/dependency.go:90 +0x151 github.com/kataras/iris/v12/hero.newDependency(0x1894580, 0x1a24730, 0xc000288f00, 0xc00027fa40, 0xc, 0xc, 0x1823387) /Users/yz/go/pkg/mod/github.com/kataras/iris/[email protected]/hero/dependency.go:77 +0x1dc github.com/kataras/iris/v12/hero.(*Container).Register(0xc0002f4cb0, 0x1894580, 0x1a24730, 0xc000277500) /Users/yz/go/pkg/mod/github.com/kataras/iris/[email protected]/hero/container.go:284 +0x6a github.com/kataras/iris/v12/core/router.(*APIContainer).RegisterDependency(...) /Users/yz/go/pkg/mod/github.com/kataras/iris/[email protected]/core/router/api_container.go:71 main.main.func1(0xc000267800) /Users/yz/workspace/test/main.go:10 +0x47 github.com/kataras/iris/v12/core/router.(*APIBuilder).ConfigureContainer(0xc000273e60, 0xc00051ff70, 0x1, 0x1, 0xffffffff) /Users/yz/go/pkg/mod/github.com/kataras/iris/[email protected]/core/router/api_builder.go:335 +0x64 main.main() /Users/yz/workspace/test/main.go:9 +0x66 exit status 2
Expected behavior No panic
Desktop (please complete the following information):
- OS: macOS Big Sur 11.4
- go: 1.16
iris.Version
- v12.2.0-alpha2