From 20ad44af1cfbc8504c9456a8f9d8b66607c36cf3 Mon Sep 17 00:00:00 2001 From: Steven Vandevelde Date: Sun, 16 Jul 2017 15:34:02 +0200 Subject: [PATCH] core/http/gateway: Expose `Content-Range` header The `Content-Range` header is necessary for extracting (only) the metadata of audio files. License: MIT Signed-off-by: Steven Vandevelde --- core/corehttp/gateway_handler.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/core/corehttp/gateway_handler.go b/core/corehttp/gateway_handler.go index 301742ad6..a4677d09e 100644 --- a/core/corehttp/gateway_handler.go +++ b/core/corehttp/gateway_handler.go @@ -208,9 +208,17 @@ func (i *gatewayHandler) getOrHeadHandler(ctx context.Context, w http.ResponseWr w.Header().Set("Etag", etag) // set 'allowed' headers - w.Header().Set("Access-Control-Allow-Headers", "X-Stream-Output, X-Chunked-Output") - // expose those headers - w.Header().Set("Access-Control-Expose-Headers", "X-Stream-Output, X-Chunked-Output") + // & expose those headers + var allowedHeadersArr = []string{ + "Content-Range", + "X-Chunked-Output", + "X-Stream-Output", + } + + var allowedHeaders = strings.Join(allowedHeadersArr, ", ") + + w.Header().Set("Access-Control-Allow-Headers", allowedHeaders) + w.Header().Set("Access-Control-Expose-Headers", allowedHeaders) // Suborigin header, sandboxes apps from each other in the browser (even // though they are served from the same gateway domain).