Currently, the POST, PUT, and PATCH methods automatically set the content-type header of any request (that doesn't explicitly supply content-type in the headers keyword argument) to application/json. This happens even if you provide extra_headers on the ConnectionProperties object that specify the content type.
This means that if you are sending POST/PATCH/PUT requests to a non-JSON API, your requests will be sent with application/json as the content-type without your knowledge. This can be confusing for users and cause needless head scratching.