mirror of
https://github.com/kataras/iris.git
synced 2026-01-08 12:31:58 +00:00
Add error message when reverse routing using gorillamux happens before boot
Former-commit-id: 96dd812a16338824474ba1be0db18c486b2ebc0d
This commit is contained in:
@@ -43,9 +43,18 @@ func main() {
|
||||
games.Post("/{gameID:[0-9]+}/clans/{clanPublicID:[0-9]+}/memberships/demote", h)
|
||||
}
|
||||
|
||||
app.Get("/anything/{anythingparameter:.*}", func(ctx *iris.Context) {
|
||||
myroute := app.Get("/anything/{anythingparameter:.*}", func(ctx *iris.Context) {
|
||||
s := ctx.Param("anythingparameter")
|
||||
ctx.Writef("The path after /anything is: %s", s)
|
||||
}) // .ChangeName("myroute")
|
||||
|
||||
app.Get("/reverse_myroute", func(ctx *iris.Context) {
|
||||
// reverse routing snippet using templates:
|
||||
// https://github.com/kataras/iris/tree/v6/adaptors/view/_examples/template_html_3 (gorillamux)
|
||||
// https://github.com/kataras/iris/tree/v6/adaptors/view/_examples/template_html_4 (httprouter)
|
||||
|
||||
myrouteRequestPath := app.Path(myroute.Name(), "anythingparameter", "something/here")
|
||||
ctx.Writef("Should be '/anything/something/here': %s", myrouteRequestPath)
|
||||
})
|
||||
|
||||
p := app.Party("mysubdomain.")
|
||||
|
||||
@@ -64,9 +64,15 @@ func New() iris.Policies {
|
||||
// {{ url "providerLink" "provider" "facebook"}}
|
||||
// for a path: "/auth/{provider}" with name 'providerLink'
|
||||
URLPath: func(r iris.RouteInfo, args ...string) string {
|
||||
if router == nil {
|
||||
logger(iris.ProdMode, "gorillamux' reverse routing 'URLPath' should be called after Boot/Listen/Serve")
|
||||
return ""
|
||||
}
|
||||
|
||||
if r == nil {
|
||||
return ""
|
||||
}
|
||||
|
||||
if gr := router.Get(r.Name()); gr != nil {
|
||||
u, err := gr.URLPath(args...)
|
||||
if err != nil {
|
||||
|
||||
@@ -17,6 +17,6 @@ func TestRouteURLPath(t *testing.T) {
|
||||
expected := "/profile/42/iris-go/something"
|
||||
|
||||
if got := app.Path("profile", "user_id", 42, "ref", "iris-go", "anything", "something"); got != expected {
|
||||
t.Fatalf("httprouter's reverse routing 'URLPath' error: expected %s but got %s", expected, got)
|
||||
t.Fatalf("gorillamux' reverse routing 'URLPath' error: expected %s but got %s", expected, got)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user