diff --git a/internal/servers/webrtc/http_server.go b/internal/servers/webrtc/http_server.go index a1930993..60d559ec 100644 --- a/internal/servers/webrtc/http_server.go +++ b/internal/servers/webrtc/http_server.go @@ -48,14 +48,21 @@ func writeError(ctx *gin.Context, statusCode int, err error) { }) } -func sessionLocation(publish bool, path string, secret uuid.UUID) string { +func sessionLocation(publish bool, path string, rawQuery string, secret uuid.UUID) string { ret := "/" + path + "/" + if publish { ret += "whip" } else { ret += "whep" } + ret += "/" + secret.String() + + if rawQuery != "" { + ret += "?" + rawQuery + } + return ret } @@ -216,7 +223,7 @@ func (s *httpServer) onWHIPPost(ctx *gin.Context, pathName string, publish bool) ctx.Header("ID", res.sx.uuid.String()) ctx.Header("Accept-Patch", "application/trickle-ice-sdpfrag") ctx.Writer.Header()["Link"] = whip.LinkHeaderMarshal(servers) - ctx.Header("Location", sessionLocation(publish, pathName, res.sx.secret)) + ctx.Header("Location", sessionLocation(publish, pathName, ctx.Request.URL.RawQuery, res.sx.secret)) ctx.Writer.WriteHeader(http.StatusCreated) ctx.Writer.Write(res.answer) } diff --git a/internal/servers/webrtc/publish_index.html b/internal/servers/webrtc/publish_index.html index 832006f1..a4d1f72f 100644 --- a/internal/servers/webrtc/publish_index.html +++ b/internal/servers/webrtc/publish_index.html @@ -399,7 +399,7 @@ const editAnswer = (sdp) => { }; const sendLocalCandidates = (candidates) => { - fetch(sessionUrl + window.location.search, { + fetch(sessionUrl, { method: 'PATCH', headers: { 'Content-Type': 'application/trickle-ice-sdpfrag', diff --git a/internal/servers/webrtc/read_index.html b/internal/servers/webrtc/read_index.html index e2c34029..3df54ff5 100644 --- a/internal/servers/webrtc/read_index.html +++ b/internal/servers/webrtc/read_index.html @@ -376,7 +376,7 @@ const onError = (err) => { }; const sendLocalCandidates = (candidates) => { - fetch(sessionUrl + window.location.search, { + fetch(sessionUrl, { method: 'PATCH', headers: { 'Content-Type': 'application/trickle-ice-sdpfrag',