Fix. You HAVE to urlencode PUT HTTP request content, despite what's written in the documentation.