How to control accept encoding on HTTP API requests?

Related to this ticket about issues with inflating data.

So far it had been suggested by API’s support to request gzip instead of deflate.

Read More

However I cannot find a way to override WP settings that set deflate with highest priority as accepted encoding for all requests.

Related functions – WP_Http_Encoding::is_available() and WP_Http_Encoding::accept_encoding().

Is there any hook or other option to control this that I am missing?

Related posts

Leave a Reply

2 comments

  1. Quite an edge case, but the accepted encoding types should be filterable nonetheless. I can see a few situations where fine, granular control over this header would be useful (as in adding an API that uses non-standard encoding).

    So, while there’s no stock hook for this, I have created a Trac ticket for it and submitted a patch. If you voice support on the ticket, maybe we can raise enough noise to get it incorporated into a future release.

  2. Short answer: No, there’s no hook for that.

    Long answer: You could possibly submit a patch at WordPress Trac, if you really need to adjust this option. Personally, I didn’t ever had problemes with WP_Http_Encoding::accept_encoding() and the question you mentioned could be answered by manually gzinflate() the response. IMHO, this seems to be the only solution until someone submits a patch.