traefik/api/dashboard.go

23 lines
817 B
Go
Raw Normal View History

package api
import (
"net/http"
"github.com/containous/mux"
2017-11-20 14:26:03 +00:00
"github.com/containous/traefik/autogen/genstatic"
"github.com/elazarl/go-bindata-assetfs"
)
// DashboardHandler expose dashboard routes
type DashboardHandler struct{}
// AddRoutes add dashboard routes on a router
func (g DashboardHandler) AddRoutes(router *mux.Router) {
// Expose dashboard
2017-11-20 08:40:03 +00:00
router.Methods(http.MethodGet).Path("/").HandlerFunc(func(response http.ResponseWriter, request *http.Request) {
http.Redirect(response, request, request.Header.Get("X-Forwarded-Prefix")+"/dashboard/", 302)
})
2017-11-20 08:40:03 +00:00
router.Methods(http.MethodGet).PathPrefix("/dashboard/").
2017-11-20 14:26:03 +00:00
Handler(http.StripPrefix("/dashboard/", http.FileServer(&assetfs.AssetFS{Asset: genstatic.Asset, AssetInfo: genstatic.AssetInfo, AssetDir: genstatic.AssetDir, Prefix: "static"})))
}