thiagoelg commented on code in PR #3395:
URL:
https://github.com/apache/incubator-kie-tools/pull/3395#discussion_r2717477560
##########
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:
But if I comment out the `res.removeHeader("content-encoding");` line from
CORS Proxy, then the request fails with `net::ERR_CONTENT_DECODING_FAILED 200
(OK)`.
<img width="3008" height="1625" alt="image"
src="https://github.com/user-attachments/assets/bc8ae922-2e21-4614-af59-3debd6536294"
/>
But I think that makes sense, as `node-fetch` in CORS Proxy is already
decompressing the response and returning raw data to the browser.
--
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]