Summary
form-urlencode doesn't encode slashes
Metadata
- Id: 4442764134e75e47e0288a274531c62c79330bc6
- Trac id: 373
- Type: defect
- Reporter: taylor_venable
- Owner: sjamaan
- Cc:
- Status: closed
- Component: extensions
- Estimated difficulty:
- Resolution: fixed
- Priority: major
- Milestone: 4.9.0
- Version: 4.6.0
- Changetime: 2012-09-24 21:47:48 UTC
- Created: 2010-09-09 19:20:08 UTC
- Keywords: uri-common
Description
Using `form-urlencode` (and hence, `http-client` when a function such as `with-input-from-request` is given an alist) doesn't encode slashes in parameter values. For example:
#;2> (form-urlencode '(("foo" . "<p>hello</p>")))
"foo=%3Cp%3Ehello%3C/p%3E"
This has caused some problems for me when receiving ends don't process the slash correctly. I worked around it by calling `uri-encode-string` directly (which does escape the slash) rather than having `http-client` do the encoding of an alist for me automatically.
Changes and comments
[2010-09-09 19:29:00 UTC] taylor_venable set keywords to uri-common
[2010-09-09 19:29:00 UTC] taylor_venable removed owner
[2010-09-09 19:29:00 UTC] taylor_venable changed component from unknown to extensions
[2010-09-09 19:29:00 UTC] taylor_venable wrote:
By the way, I'm using Chicken 4.6.0rc1 on Linux x86_64 with `uri-common` 1.0; `uri-generic` 2.34; `http-client` 0.1
[2010-09-09 19:38:10 UTC] sjamaan changed status from new to accepted
[2010-09-09 19:38:10 UTC] sjamaan set owner to sjamaan
[2010-09-11 17:14:37 UTC] sjamaan wrote:
Fixed in [[20244]|]. Please test the trunk version of uri-common and let me know if it works for you.
[2010-09-13 19:11:30 UTC] taylor_venable wrote:
Yes, `uri-common` trunk works; everything in my sample requests seems to be escaped properly. Thank you.
[2010-09-13 19:11:30 UTC] taylor_venable changed status from accepted to closed
[2010-09-13 19:11:30 UTC] taylor_venable set resolution to fixed
[2010-09-13 19:37:38 UTC] sjamaan wrote:
ok, I've tagged and released uri-common 1.1
[2011-06-01 09:00:41 UTC] felix changed milestone from 4.7.0 to 4.8.0
[2011-06-01 09:00:41 UTC] felix wrote:
Milestone 4.7.0 deleted
[2012-09-24 21:47:48 UTC] felix changed milestone from 4.8.0 to 4.9.0
[2012-09-24 21:47:48 UTC] felix wrote:
Milestone 4.8.0 deleted