From c08a8581eed767564d1afe359fdcf6ccbdb4d744 Mon Sep 17 00:00:00 2001 From: bitkeeper Date: Tue, 9 Mar 2021 18:33:05 +0100 Subject: [PATCH] Added cross-origin header to http headers of the http output. The current http output doesn't provide a header for cross-origin support. This prevents to use the mpd http stream directly from an other webapplication due the origin from the webpage differs from then the audio stream. The fix is to add the following header to the http response: Access-Control-Allow-Origin: * --- NEWS | 1 + src/output/plugins/httpd/HttpdClient.cxx | 1 + src/output/plugins/httpd/IcyMetaDataServer.cxx | 1 + 3 files changed, 3 insertions(+) diff --git a/NEWS b/NEWS index a95f44537..1c0a4b69c 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,7 @@ ver 0.22.7 (not yet released) * storage - curl: don't use glibc extension * output + - httpd: send header "Access-Control-Allow-Origin: *" - wasapi: add algorithm for finding usable audio format - wasapi: use default device only if none was configured - wasapi: add DoP support diff --git a/src/output/plugins/httpd/HttpdClient.cxx b/src/output/plugins/httpd/HttpdClient.cxx index 8a88b131d..dbe8f63fa 100644 --- a/src/output/plugins/httpd/HttpdClient.cxx +++ b/src/output/plugins/httpd/HttpdClient.cxx @@ -162,6 +162,7 @@ HttpdClient::SendResponse() noexcept "Connection: close\r\n" "Pragma: no-cache\r\n" "Cache-Control: no-cache, no-store\r\n" + "Access-Control-Allow-Origin: *\r\n" "\r\n", httpd.content_type); response = buffer; diff --git a/src/output/plugins/httpd/IcyMetaDataServer.cxx b/src/output/plugins/httpd/IcyMetaDataServer.cxx index d746d0a0a..1323b486f 100644 --- a/src/output/plugins/httpd/IcyMetaDataServer.cxx +++ b/src/output/plugins/httpd/IcyMetaDataServer.cxx @@ -45,6 +45,7 @@ icy_server_metadata_header(const char *name, "Connection: close\r\n" "Pragma: no-cache\r\n" "Cache-Control: no-cache, no-store\r\n" + "Access-Control-Allow-Origin: *\r\n" "\r\n", name, genre,