Hi,
I'd like to report a couple of issues with URL decoding in an HTTP response:
1) The simulator accepts UrlEncoded HTTP Body data which is actually invalid
e.g. it's happy with MyKey=Hello World
Whereas my physical device (Forerunner 235) gives an "INVALID_HTTP_BODY_IN_NETWORK_RESPONSE = -400" response for content with this form (because the space is invalid)
2) When the body *is* correctly UrlEncoded, the response is decoded incorrectly:
e.g.
plaintext: MyKey=Thank you & Goodnight
UrlEncodes to: MyKey=Thank+you+%26+Goodnight
And decodes (on both the simulator and the physical device) to: MyKey=Thank+you+&+Goodnight
It looks like you're expecting %20 for a space, but reading various threads on Google and the RFCs suggest that '+' should be used in place of %20?
I've tested this by overriding the server's URL encoding to replace '+' with '%20' and that makes it work, but it's a hack rather than a solution.
I've tried this with Content-Type set both to text/plain and application/x-www-form-urlencoded with no difference in decoding.
I haven't looked at the UrlEncoding on the outbound request.
Thanks,
Ol