hls: fix population of runOnDemand's MTX_QUERY (#3255)
This commit is contained in:
@@ -199,6 +199,7 @@ func (s *httpServer) onRequest(ctx *gin.Context) {
|
||||
mux, err := s.parent.getMuxer(serverGetMuxerReq{
|
||||
path: dir,
|
||||
remoteAddr: httpp.RemoteAddr(ctx),
|
||||
query: ctx.Request.URL.RawQuery,
|
||||
sourceOnDemand: pathConf.SourceOnDemand,
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
@@ -59,6 +59,7 @@ type muxer struct {
|
||||
pathName string
|
||||
pathManager serverPathManager
|
||||
parent *Server
|
||||
query string
|
||||
|
||||
ctx context.Context
|
||||
ctxCancel func()
|
||||
@@ -124,6 +125,7 @@ func (m *muxer) runInner() error {
|
||||
AccessRequest: defs.PathAccessRequest{
|
||||
Name: m.pathName,
|
||||
SkipAuth: true,
|
||||
Query: m.query,
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
@@ -25,6 +25,7 @@ type serverGetMuxerRes struct {
|
||||
type serverGetMuxerReq struct {
|
||||
path string
|
||||
remoteAddr string
|
||||
query string
|
||||
sourceOnDemand bool
|
||||
res chan serverGetMuxerRes
|
||||
}
|
||||
@@ -152,7 +153,7 @@ outer:
|
||||
case pa := <-s.chPathReady:
|
||||
if s.AlwaysRemux && !pa.SafeConf().SourceOnDemand {
|
||||
if _, ok := s.muxers[pa.Name()]; !ok {
|
||||
s.createMuxer(pa.Name(), "")
|
||||
s.createMuxer(pa.Name(), "", "")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +172,7 @@ outer:
|
||||
case s.AlwaysRemux && !req.sourceOnDemand:
|
||||
req.res <- serverGetMuxerRes{err: fmt.Errorf("muxer is waiting to be created")}
|
||||
default:
|
||||
req.res <- serverGetMuxerRes{muxer: s.createMuxer(req.path, req.remoteAddr)}
|
||||
req.res <- serverGetMuxerRes{muxer: s.createMuxer(req.path, req.remoteAddr, req.query)}
|
||||
}
|
||||
|
||||
case c := <-s.chCloseMuxer:
|
||||
@@ -215,7 +216,7 @@ outer:
|
||||
s.httpServer.close()
|
||||
}
|
||||
|
||||
func (s *Server) createMuxer(pathName string, remoteAddr string) *muxer {
|
||||
func (s *Server) createMuxer(pathName string, remoteAddr string, query string) *muxer {
|
||||
r := &muxer{
|
||||
parentCtx: s.ctx,
|
||||
remoteAddr: remoteAddr,
|
||||
@@ -230,6 +231,7 @@ func (s *Server) createMuxer(pathName string, remoteAddr string) *muxer {
|
||||
pathName: pathName,
|
||||
pathManager: s.PathManager,
|
||||
parent: s,
|
||||
query: query,
|
||||
}
|
||||
r.initialize()
|
||||
s.muxers[pathName] = r
|
||||
|
||||
Reference in New Issue
Block a user