Skip to content

Commit 3bcc44a

Browse files
committed
Restrict to livepeer
1 parent bc9f729 commit 3bcc44a

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

server/ai_mediaserver.go

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,19 @@ func generateWhepUrl(streamName, requestID string) string {
131131
return whepURL
132132
}
133133

134+
// resolveWebhookURL resolves a webhook URL with optional override from query parameters
135+
func resolveWebhookURL(defaultURL *url.URL, overrideParam string) *url.URL {
136+
if overrideParam == "" {
137+
return defaultURL
138+
}
139+
140+
if parsed, err := url.Parse(overrideParam); err == nil && parsed.Scheme != "" && parsed.Host != "" {
141+
return parsed
142+
}
143+
144+
return defaultURL
145+
}
146+
134147
func aiMediaServerHandle[I, O any](ls *LivepeerServer, decoderFunc func(*I, *http.Request) error, processorFunc func(context.Context, aiRequestParams, I) (O, error)) http.Handler {
135148
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
136149
remoteAddr := getRemoteAddr(r)
@@ -505,13 +518,7 @@ func (ls *LivepeerServer) StartLiveVideo() http.Handler {
505518
mediaMTXClient := media.NewMediaMTXClient(remoteHost, ls.mediaMTXApiPassword, sourceID, sourceType)
506519

507520
whepURL := generateWhepUrl(streamName, requestID)
508-
authURL := LiveAIAuthWebhookURL
509-
override := qp.Get("webhookUrl")
510-
if override != "" {
511-
if parsed, err := url.Parse(override); err == nil && parsed.Scheme != "" && parsed.Host != "" {
512-
authURL = parsed
513-
}
514-
}
521+
authURL := resolveWebhookURL(LiveAIAuthWebhookURL, qp.Get("webhookUrl"))
515522
if authURL != nil {
516523
authResp, err := authenticateAIStream(authURL, ls.liveAIAuthApiKey, AIAuthRequest{
517524
Stream: streamName,
@@ -984,13 +991,7 @@ func (ls *LivepeerServer) CreateWhip(server *media.WHIPServer) http.Handler {
984991

985992
ctx = clog.AddVal(ctx, "source_type", sourceTypeStr)
986993

987-
authURL := LiveAIAuthWebhookURL
988-
override := r.URL.Query().Get("webhookUrl")
989-
if override != "" {
990-
if parsed, err := url.Parse(override); err == nil && parsed.Scheme != "" && parsed.Host != "" {
991-
authURL = parsed
992-
}
993-
}
994+
authURL := resolveWebhookURL(LiveAIAuthWebhookURL, r.URL.Query().Get("webhookUrl"))
994995
if authURL != nil {
995996
authResp, err := authenticateAIStream(authURL, ls.liveAIAuthApiKey, AIAuthRequest{
996997
Stream: streamName,

0 commit comments

Comments
 (0)