Commit 10e86eda by Torkel Ödegaard Committed by GitHub

fix: #12461 introduced issues with route registration ordering, adding plugin…

fix: #12461 introduced issues with route registration ordering, adding plugin static routes before plugins package had been initiated (#12474)
parent aa1b5959
......@@ -9,16 +9,7 @@ import (
m "github.com/grafana/grafana/pkg/models"
)
func (hs *HTTPServer) applyRoutes() {
hs.RouteRegister.Register(hs.macaron)
InitAppPluginRoutes(hs.macaron)
hs.macaron.NotFound(NotFoundHandler)
}
func (hs *HTTPServer) registerRoutes() {
macaronR := hs.macaron
reqSignedIn := middleware.Auth(&middleware.AuthOptions{ReqSignedIn: true})
reqGrafanaAdmin := middleware.Auth(&middleware.AuthOptions{ReqSignedIn: true, ReqGrafanaAdmin: true})
reqEditorRole := middleware.RoleAuth(m.ROLE_EDITOR, m.ROLE_ADMIN)
......@@ -28,9 +19,6 @@ func (hs *HTTPServer) registerRoutes() {
quota := middleware.Quota
bind := binding.Bind
// automatically set HEAD for every GET
macaronR.SetAutoHead(true)
r := hs.RouteRegister
// not logged in views
......
......@@ -18,7 +18,7 @@ import (
var pluginProxyTransport *http.Transport
func InitAppPluginRoutes(r *macaron.Macaron) {
func (hs *HTTPServer) initAppPluginRoutes(r *macaron.Macaron) {
pluginProxyTransport = &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: setting.PluginAppsSkipVerifyTLS,
......
......@@ -69,6 +69,7 @@ func (hs *HTTPServer) Run(ctx context.Context) error {
var err error
hs.context = ctx
hs.applyRoutes()
hs.streamManager.Run(ctx)
......@@ -169,6 +170,26 @@ func (hs *HTTPServer) newMacaron() *macaron.Macaron {
macaron.Env = setting.Env
m := macaron.New()
// automatically set HEAD for every GET
m.SetAutoHead(true)
return m
}
func (hs *HTTPServer) applyRoutes() {
// start with middlewares & static routes
hs.addMiddlewaresAndStaticRoutes()
// then add view routes & api routes
hs.RouteRegister.Register(hs.macaron)
// then custom app proxy routes
hs.initAppPluginRoutes(hs.macaron)
// lastly not found route
hs.macaron.NotFound(NotFoundHandler)
}
func (hs *HTTPServer) addMiddlewaresAndStaticRoutes() {
m := hs.macaron
m.Use(middleware.Logger())
if setting.EnableGzip {
......@@ -180,7 +201,7 @@ func (hs *HTTPServer) newMacaron() *macaron.Macaron {
for _, route := range plugins.StaticRoutes {
pluginRoute := path.Join("/public/plugins/", route.PluginId)
hs.log.Debug("Plugins: Adding route", "route", pluginRoute, "dir", route.Directory)
hs.mapStatic(m, route.Directory, "", pluginRoute)
hs.mapStatic(hs.macaron, route.Directory, "", pluginRoute)
}
hs.mapStatic(m, setting.StaticRootPath, "build", "public/build")
......@@ -209,8 +230,6 @@ func (hs *HTTPServer) newMacaron() *macaron.Macaron {
}
m.Use(middleware.AddDefaultResponseHeaders())
return m
}
func (hs *HTTPServer) metricsEndpoint(ctx *macaron.Context) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment