RFC 2616 defines header values as case insensitive, so per default we…
… should read/write headers values as case insensitive
Currently only the getValues method use case insensitive per default, all other are case sensitive.
This fixes problems behind a nginx reverse proxy, where "X-Forwarded-Proto" header is set as "X-forwarded-proto" (#1191). The X-Forwarded-For is working because it's read in restlet with getValues method.
Hi @notz , this is not so easy to change the default read option as this class is also used elsewhere. I have to check more deeply. I think we can make sure that the framework internally reads the header in the right way. In the cases you read the headers from your own code, is it possible for you to read using the value in the case-insensitive way?
I know that it's used everywhere. But the problem isn't my application. It's used different in restlet and their modules. That's the correct approach to fix problem. I know it is no small fix, but shouldn't break anything because it's RFC conform.
On Apr 22, 2017 15:23, "Thierry Boileau" [email protected] wrote:
Hi @notz https://github.com/notz , this is not so easy to change the default read option as this class is also used elsewhere. I have to check more deeply. I think we can make sure that the framework internally reads the header in the right way. In the cases you read the headers from your own code, is it possible for you to read using the value in the case-insensitive way?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/restlet/restlet-framework-java/pull/1259#issuecomment-296373014, or mute the thread https://github.com/notifications/unsubscribe-auth/AAqjozsHWlmptlhfEVbJLzOcaCfP9harks5ryf9hgaJpZM4MgYAC .
@jlouvel Any chance to get this into 2.6?
Hi @notz We could tackle this change in version 2.7 which along with 3.0 version will give us the opportunity to change the Restlet API and core behavior as needed, while 2,6 should stay as close as possible to 2.5 to streamline upgrades of production apps to Java 17 and Jakarta. See https://github.com/restlet/restlet-framework-java/wiki/Roadmap