mirror of
https://github.com/kataras/iris.git
synced 2025-01-23 18:51:03 +01:00
41 lines
907 B
Go
41 lines
907 B
Go
package main
|
|
|
|
import (
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/kataras/iris/v12"
|
|
|
|
"github.com/arl/statsviz"
|
|
)
|
|
|
|
// $ go get github.com/arl/statsviz
|
|
func main() {
|
|
app := iris.New()
|
|
// Register a router wrapper for this one.
|
|
statsvizPath := "/debug/statsviz"
|
|
serveRoot := statsviz.IndexAtRoot(statsvizPath)
|
|
serveWS := statsviz.NewWsHandler(time.Second)
|
|
app.UseRouter(func(ctx iris.Context) {
|
|
// You can optimize this if branch, I leave it to you as an exercise.
|
|
if strings.HasPrefix(ctx.Path(), statsvizPath+"/ws") {
|
|
serveWS(ctx.ResponseWriter(), ctx.Request())
|
|
} else if strings.HasPrefix(ctx.Path(), statsvizPath) {
|
|
serveRoot(ctx.ResponseWriter(), ctx.Request())
|
|
} else {
|
|
ctx.Next()
|
|
}
|
|
})
|
|
//
|
|
|
|
// Register other routes.
|
|
app.Get("/", index)
|
|
|
|
// Navigate to: http://localhost:8080/debug/statsviz/
|
|
app.Listen(":8080")
|
|
}
|
|
|
|
func index(ctx iris.Context) {
|
|
ctx.WriteString("Hello, World!")
|
|
}
|