Conversation
If Canvas sends transport encoding headers we should drop them as we will manage our own transport encoding back to the client.
There was a problem hiding this comment.
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-Encodingfrom proxied responses (in addition to already strippingSet-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. |
| // 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()); |
There was a problem hiding this comment.
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.
Agent-Logs-Url: https://github.com/oxctl/tool-support/sessions/e5ed4dc6-bba4-46c2-a42d-4666454c0b41 Co-authored-by: buckett <5921+buckett@users.noreply.github.com>
|
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:
If you need me to access, download, or install something from one of these locations, you can either:
|
If Canvas sends transport encoding headers we should drop them as we will manage our own transport encoding back to the client.