Cannot disable encoding of form data in cfhttpparam

Hi!

I’ve run into an issue using cfhttpparam with formfields. See https://luceeserver.atlassian.net/browse/LDEV-2250

The encoded argument doesn’t have any effect for form fields, unlike Adobe CF. This is preventing me from using an API due to encoding issues around plus symbols (they need %20, not +).

Can anyone suggest a workaround until this bug is fixed? I can’t manually encode first because they are being double encoded.

** OS: Ubuntu 16.04
Java Version: 1.8.0_252
Tomcat Version: Apache Tomcat/8.0.32 (Ubuntu)
Lucee Version: 5.2.5.20 (also tested on 5.3.6.61)

I’ve seen your post on Slack, and you’ve said an engine version update didn’t work? What would be about using foundeos wrapper bolthttp? i have no experience with it, but I would try that, until a solution gets deployed on cfhttp. It looks like it doesn’t use special encoding functionality, but because the cfc uses apache http java client, you could probably add some tweaks. That is what I’d try first in such a case Here it is:

Turns out my issue was actually an encoding issue in a cookie. Using cfhttpparam type=“header” value=“cookie=xxx” solved it

1 Like