diff --git a/bridge.go b/bridge.go index df526ad..26857dc 100644 --- a/bridge.go +++ b/bridge.go @@ -120,19 +120,21 @@ func (b *bridge) handleLoadMedia(client mqtt.Client, msg mqtt.Message) { return } - mediaUrl.User = nil - mediaUrl.Path = "" - mediaUrl.RawPath = "" - mediaUrl.RawQuery = "" - mediaUrl.Fragment = "" - mediaUrl.RawFragment = "" + checkUrl := *mediaUrl + checkUrl.User = nil + checkUrl.Path = "" + checkUrl.RawPath = "" + checkUrl.RawQuery = "" + checkUrl.Fragment = "" + checkUrl.RawFragment = "" - allowedOrigin := b.mediaAllowedOrigins[mediaUrl.String()] + allowedOrigin := b.mediaAllowedOrigins[checkUrl.String()] - if !allowedOrigin && mediaUrl.Scheme == "http" && mediaUrl.Port() != "" { + if !allowedOrigin && checkUrl.Scheme == "http" && checkUrl.Port() != "" { // automatically upgrade to HTTPS if the HTTPS version of the same origin is allowed + checkUrl.Scheme = "httpss" mediaUrl.Scheme = "https" - allowedOrigin = b.mediaAllowedOrigins[mediaUrl.String()] + allowedOrigin = b.mediaAllowedOrigins[checkUrl.String()] } if allowedOrigin {