mirror of
https://github.com/kataras/iris.git
synced 2025-01-23 10:41:03 +01:00
Add an example for gorillamux adaptor. Ref: https://github.com/kataras/iris/issues/588
Former-commit-id: ac5a00ca031950c103764fbb9ea2c3fa498252cb
This commit is contained in:
parent
4968fe353e
commit
d2aee5e187
60
adaptors/gorillamux/_example/main.go
Normal file
60
adaptors/gorillamux/_example/main.go
Normal file
|
@ -0,0 +1,60 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"gopkg.in/kataras/iris.v6"
|
||||
"gopkg.in/kataras/iris.v6/adaptors/gorillamux" // import the gorillamux adaptor
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := iris.New()
|
||||
app.Adapt(iris.DevLogger()) // writes both prod and dev logs to the os.Stdout
|
||||
app.Adapt(gorillamux.New()) // uses the gorillamux for routing and reverse routing
|
||||
|
||||
// set a custom 404 handler
|
||||
app.OnError(iris.StatusNotFound, func(ctx *iris.Context) {
|
||||
ctx.HTML(iris.StatusNotFound, "<h1> custom http error page </h1>")
|
||||
})
|
||||
|
||||
app.Get("/healthcheck", h)
|
||||
|
||||
gamesMiddleware := func(ctx *iris.Context) {
|
||||
println(ctx.Method() + ": " + ctx.Path())
|
||||
ctx.Next()
|
||||
}
|
||||
|
||||
games := app.Party("/games", gamesMiddleware)
|
||||
{ // braces are optional of course, it's just a style of code
|
||||
games.Get("/{gameID:[0-9]+}/clans", h)
|
||||
games.Get("/{gameID:[0-9]+}/clans/clan/{publicID:[0-9]+}", h)
|
||||
games.Get("/{gameID:[0-9]+}/clans/search", h)
|
||||
|
||||
games.Put("/{gameID:[0-9]+}/players/{publicID:[0-9]+}", h)
|
||||
games.Put("/{gameID:[0-9]+}/clans/clan/{publicID:[0-9]+}", h)
|
||||
|
||||
games.Post("/{gameID:[0-9]+}/clans", h)
|
||||
games.Post("/{gameID:[0-9]+}/players", h)
|
||||
games.Post("/{gameID:[0-9]+}/clans/{publicID:[0-9]+}/leave", h)
|
||||
games.Post("/{gameID:[0-9]+}/clans/{clanPublicID:[0-9]+}/memberships/application", h)
|
||||
games.Post("/{gameID:[0-9]+}/clans/{clanPublicID:[0-9]+}/memberships/application/:action", h)
|
||||
games.Post("/{gameID:[0-9]+}/clans/{clanPublicID:[0-9]+}/memberships/invitation", h)
|
||||
games.Post("/{gameID:[0-9]+}/clans/{clanPublicID:[0-9]+}/memberships/invitation/:action", h)
|
||||
games.Post("/{gameID:[0-9]+}/clans/{clanPublicID:[0-9]+}/memberships/delete", h)
|
||||
games.Post("/{gameID:[0-9]+}/clans/{clanPublicID:[0-9]+}/memberships/promote", h)
|
||||
games.Post("/{gameID:[0-9]+}/clans/{clanPublicID:[0-9]+}/memberships/demote", h)
|
||||
}
|
||||
|
||||
app.Get("/anything/{anythingparameter:.*}", func(ctx *iris.Context) {
|
||||
s := ctx.Param("anythingparameter")
|
||||
ctx.Writef("The path after /anything is: %s", s)
|
||||
})
|
||||
|
||||
p := app.Party("mysubdomain.")
|
||||
// http://mysubdomain.myhost.com/
|
||||
p.Get("/", h)
|
||||
|
||||
app.Listen(":8080")
|
||||
}
|
||||
|
||||
func h(ctx *iris.Context) {
|
||||
ctx.HTML(iris.StatusOK, "<h1>Path<h1/>"+ctx.Path())
|
||||
}
|
9
doc.go
9
doc.go
|
@ -19,7 +19,7 @@
|
|||
// SOFTWARE.
|
||||
|
||||
/*
|
||||
Iris back-end web framework provides efficient and well-designed toolbox with robust set of features to
|
||||
Package iris provides efficient and well-designed toolbox with robust set of features to
|
||||
create your own perfect high performance web application
|
||||
with unlimited portability using the Go Programming Language.
|
||||
|
||||
|
@ -163,12 +163,10 @@ Example `gorillamux` code:
|
|||
app.Adapt(iris.DevLogger())
|
||||
app.Adapt(gorillamux.New())
|
||||
|
||||
|
||||
app.OnError(iris.StatusNotFound, func(ctx *iris.Context) {
|
||||
ctx.HTML(iris.StatusNotFound, "<h1> custom http error page </h1>")
|
||||
})
|
||||
|
||||
|
||||
app.Get("/healthcheck", h)
|
||||
|
||||
gamesMiddleware := func(ctx *iris.Context) {
|
||||
|
@ -202,9 +200,9 @@ Example `gorillamux` code:
|
|||
ctx.Writef("The path after /anything is: %s", s)
|
||||
})
|
||||
|
||||
mysubdomain:= app.Party("mysubdomain.")
|
||||
p := app.Party("mysubdomain.")
|
||||
// http://mysubdomain.myhost.com/
|
||||
mysudomain.Get("/", h)
|
||||
p.Get("/", h)
|
||||
|
||||
app.Listen("myhost.com:80")
|
||||
}
|
||||
|
@ -214,6 +212,7 @@ Example `gorillamux` code:
|
|||
}
|
||||
|
||||
|
||||
|
||||
Example `httprouter` code:
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user