fantonangeli commented on code in PR #3395:
URL: 
https://github.com/apache/incubator-kie-tools/pull/3395#discussion_r2706002242


##########
packages/cors-proxy/src/proxy/ExpressCorsProxy.ts:
##########
@@ -60,26 +59,33 @@ export class ExpressCorsProxy implements CorsProxy<Request, 
Response> {
       this.logger.debugEscapeNewLines("Request Method: ", req.method);
       this.logger.debugEscapeNewLines("Request Headers: ", req.headers);
 
-      // Creating the headers for the new request
+      // Build outgoing headers
       const outHeaders: Record<string, string> = { 
...info?.corsConfig?.customHeaders };
 
       Object.keys(req.headers).forEach((header) => {
         if (!BANNED_PROXY_HEADERS.includes(header) && !outHeaders[header]) {
           if (!info.corsConfig || 
info.corsConfig.allowHeaders.includes(header)) {
-            outHeaders[header] = req.headers[header] as string;
+            const value = req.headers[header];
+            // header value can be string | string[] | undefined
+            if (Array.isArray(value)) {
+              outHeaders[header] = value.join(", ");
+            } else if (typeof value === "string") {
+              outHeaders[header] = value;
+            }
           }
         }
       });
 
-      // TO DO: Figure out why this gzip encoding is broken with insecure tls 
certificates!
-      if 
(req.headers[CorsProxyHeaderKeys.INSECURELY_DISABLE_TLS_CERTIFICATE_VALIDATION] 
=== "true") {
-        outHeaders["accept-encoding"] = "identity";
-      }
       // Force uncompressed response if encoding is disabled via header
       if (req.headers[CorsProxyHeaderKeys.DISABLE_ENCODING] === "true") {
         outHeaders["accept-encoding"] = "identity";

Review Comment:
   You can test using the header:
   ```
   Accept-Encoding: gzip, deflate, br, zstd
   ```
   and if you receive this, you are testing it with brotli:
   
   ```
   content-encoding: br
   ```
   I tried to query this brotli service without the CORS Proxy, with success. 
   Last week it was impossible for me to receive any brotli compressed content, 
receiving `NS_ERROR_INVALID_CONTENT_ENCODING` in the browser. This is why I 
thought it was a temporary issue not related to CORS Proxy.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to