Skip to content

AB#125030 Drop transport-encoding headers in response.#218

Open
buckett wants to merge 2 commits into
masterfrom
AB#125030
Open

AB#125030 Drop transport-encoding headers in response.#218
buckett wants to merge 2 commits into
masterfrom
AB#125030

Conversation

@buckett
Copy link
Copy Markdown
Member

@buckett buckett commented May 20, 2026

If Canvas sends transport encoding headers we should drop them as we will manage our own transport encoding back to the client.

If Canvas sends transport encoding headers we should drop them as we will manage our own transport encoding back to the client.
Copilot AI review requested due to automatic review settings May 20, 2026 09:26
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Canvas proxy response handling to avoid forwarding upstream transport-level response headers, ensuring this service controls how responses are encoded back to clients.

Changes:

  • Strips Transfer-Encoding from proxied responses (in addition to already stripping Set-Cookie).
  • Adds an inline comment explaining why the header is removed.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


// We don't want to pass through cookies from Canvas.
httpHeaders.remove("Set-Cookie");
// If Canvas sends back Chunked, we don't want to send that back to the client.
Comment on lines 86 to 90
// We don't want to pass through cookies from Canvas.
httpHeaders.remove("Set-Cookie");
// If Canvas sends back Chunked, we don't want to send that back to the client.
httpHeaders.remove("Transfer-Encoding");
return new ResponseEntity<>(response.getBody().readAllBytes(), httpHeaders, response.getStatusCode());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in commit fbfacd0: the proxy now strips the full standard hop-by-hop header set and also removes any additional header names declared by upstream Connection before returning the response.

Copy link
Copy Markdown

Copilot AI commented May 20, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • cdn.jsdelivr.net
    • Triggering command: /usr/lib/jvm/temurin-21-jdk-amd64/bin/java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java -jar /home/REDACTED/work/tool-support/tool-support/target/surefire/surefirebooter-20260520093500163_3.jar /home/REDACTED/work/tool-support/tool-support/target/surefire 2026-05-20T09-34-59_703-jvmRun1 surefire-20260520093500163_1tmp surefire_0-20260520093500163_2tmp (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants