func clearExternalOriginForWebsocketRequests()

in mixer.go [121:140]


func clearExternalOriginForWebsocketRequests(r *http.Request) {
	if !websocket.IsWebSocketUpgrade(r) {
		return
	}

	// The mixer does not allow cross origin websocket requests, so we clear out the
	// origin header if it is set to something we allow.
	origin := r.Header.Get("Origin")
	if origin == "" {
		return
	}
	originURL, err := url.Parse(origin)
	if err != nil {
		util.Log(r, fmt.Sprintf("Malformed URL in origin header: %q", origin))
		return
	}
	if originURL.Host == *externalHostname {
		r.Header.Del("Origin")
	}
}