Ticket #373 (closed defect: fixed)

Opened 4 years ago

Last modified 2 years ago

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:

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

Changed 4 years ago by taylor_venable

  • keywords uri-common added
  • component changed from unknown to extensions

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

Changed 4 years ago by sjamaan

  • owner set to sjamaan
  • status changed from new to accepted

Changed 4 years ago by sjamaan

Fixed in [20244]. Please test the trunk version of uri-common and let me know if it works for you.

Changed 4 years ago by taylor_venable

  • status changed from accepted to closed
  • resolution set to fixed

Yes, uri-common trunk works; everything in my sample requests seems to be escaped properly. Thank you.

Changed 4 years ago by sjamaan

ok, I've tagged and released uri-common 1.1

Changed 3 years ago by felix

  • milestone changed from 4.7.0 to 4.8.0

Milestone 4.7.0 deleted

Changed 2 years ago by felix

  • milestone changed from 4.8.0 to 4.9.0

Milestone 4.8.0 deleted

Note: See TracTickets for help on using tickets.