Summary

form-urlencode doesn't encode slashes

Metadata

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