HTTPServer: add possibility to use additional middlewares (#26514)

This commit is contained in:
Agnès Toulet 2020-07-23 09:54:07 +02:00 committed by GitHub
parent b12d08d9de
commit 1ba95183f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -53,6 +53,7 @@ type HTTPServer struct {
context context.Context
streamManager *live.StreamManager
httpSrv *http.Server
middlewares []macaron.Handler
RouteRegister routing.RouteRegister `inject:""`
Bus bus.Bus `inject:""`
@ -82,6 +83,10 @@ func (hs *HTTPServer) Init() error {
return nil
}
func (hs *HTTPServer) AddMiddleware(middleware macaron.Handler) {
hs.middlewares = append(hs.middlewares, middleware)
}
func (hs *HTTPServer) Run(ctx context.Context) error {
hs.context = ctx
@ -323,6 +328,10 @@ func (hs *HTTPServer) addMiddlewaresAndStaticRoutes() {
}
m.Use(middleware.HandleNoCacheHeader())
for _, mw := range hs.middlewares {
m.Use(mw)
}
}
func (hs *HTTPServer) metricsEndpoint(ctx *macaron.Context) {