Opened 5 years ago

Closed 5 years ago

Last modified 3 years ago

#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:

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 5 years ago by taylor_venable

  • Component changed from unknown to extensions
  • Keywords uri-common added

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

comment:2 Changed 5 years ago by sjamaan

  • Owner set to sjamaan
  • Status changed from new to accepted

comment:3 Changed 5 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 5 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 5 years ago by sjamaan

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

comment:6 Changed 4 years ago by felix

  • Milestone changed from 4.7.0 to 4.8.0

Milestone 4.7.0 deleted

comment:7 Changed 3 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.