Comments (6)
Please could you retest on the current version? There were some problems with Transfer-Encoding: chunked
which might have caused this that have been fixed in 2.4.0
from charon-spring-boot-starter.
Hi there was an issue about multipart: #34
Charon uses RestTemplate to proxy HTTP requests.
I haven't tested sending multipart data over the proxy and don't know is there any solution to proxy multipart data without reading the whole part into memory and still use RestTemplate.
Multipart data can definitly be proxied via RestTemplate by reading all the part into memory.
But it is probably not supoorted by charon right now.
from charon-spring-boot-starter.
As long as Charon is a Reverse Proxy, it should not know the content of the body.
So the request being a multipart should not change the way Charon treat the request/response.
BTW, we have had a problem with multipart/wwwformencoded with Spring (Boot) Filters
Spring boot add some filters which read and parse www-form-encoded requests. To decode it, it needs a Charset. If the request doesn't carry one (it's bad but old applications, you know...), Spring forces to the default charset (ISO-8859-1 or UTF-8), then the request can be garbaged.
We have resolved this by setting the ReverseProxyFilter very high in the Spring FilterChainProxy chain. Before a filter try to parse the body for wwwdata-form-urlencoded request.
from charon-spring-boot-starter.
As long as Charon is a Reverse Proxy, it should not know the content of the body.
That might be true for a Layer 4 proxy, but Charon acts like a Layer 7 proxy and reads and decodes the whole upstream response body before constructing a entirely new response to the client. If Charon misunderstands the upstream response encoding or format, then the downstream response will be garbled.
from charon-spring-boot-starter.
Is this issue still valid?
from charon-spring-boot-starter.
Closing because of no response.
Try 4.0.0 version and check if you still have the problem.
from charon-spring-boot-starter.
Related Issues (20)
- sorry some wrong posting.
- RegexRequestPathRewriter.forward fails for URIs with Blank (%20) HOT 7
- RegexRequestPathRewriter rewrites decoded path to encoded HOT 1
- migrating from charon 3 to 4 HOT 4
- Rewrite paths in location headers HOT 4
- Ability to map by host pattern instead of just path HOT 6
- Include port in X-Forwarded-Host header if its not the standard port for the scheme HOT 1
- Should not add Content-Type and Content-Length headers to requests with empty body HOT 6
- Exceeded limit on max bytes to buffer : 262144 HOT 2
- Forwarding 'x-www-form-urlencoded' request removes form data HOT 1
- forward vue project have error java.net.SocketTimeoutException: Connect timed out
- HttpRequestMapper sets an empty byte array body in case of GET requests HOT 2
- UserValidator
- could not working in war package mode. HOT 1
- Future stability / maintenance HOT 2
- Dynamic route request
- response header [Content-Disposition] has been removed from the response HOT 1
- Regex Request Path Rewriter HOT 2
- Requests are not forwarded to subdomains HOT 1
- JWT Authentication HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from charon-spring-boot-starter.