#373 closed defect (fixed)
form-urlencode doesn't encode slashes
Reported by: | taylor_venable | Owned by: | sjamaan |
---|---|---|---|
Priority: | major | Milestone: | 4.9.0 |
Component: | extensions | Version: | 4.6.0 |
Keywords: | uri-common | Cc: | |
Estimated difficulty: |
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.
Change History (7)
comment:1 Changed 8 years ago by taylor_venable
- Component changed from unknown to extensions
- Keywords uri-common added
comment:2 Changed 8 years ago by sjamaan
- Owner set to sjamaan
- Status changed from new to accepted
comment:3 Changed 8 years ago by sjamaan
Fixed in [20244]. Please test the trunk version of uri-common and let me know if it works for you.
comment:4 Changed 8 years ago by taylor_venable
- Resolution set to fixed
- Status changed from accepted to closed
Yes, uri-common trunk works; everything in my sample requests seems to be escaped properly. Thank you.
comment:5 Changed 8 years ago by sjamaan
ok, I've tagged and released uri-common 1.1
comment:6 Changed 7 years ago by felix
- Milestone changed from 4.7.0 to 4.8.0
Milestone 4.7.0 deleted
comment:7 Changed 6 years ago by felix
- Milestone changed from 4.8.0 to 4.9.0
Milestone 4.8.0 deleted
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