Jak kontrolować akceptowanie kodowania w żądaniach API HTTP?


11

Powiązane z tym biletem dotyczącym problemów z pompowaniem danych .

Do tej pory wsparcie API sugerowało żądanie gzip zamiast deflacji .

Nie mogę jednak znaleźć sposobu na zastąpienie ustawień WP, które ustawiają deflację z najwyższym priorytetem jako akceptowanego kodowania dla wszystkich żądań.

Powiązane funkcje - WP_Http_Encoding::is_available()i WP_Http_Encoding::accept_encoding().

Czy jest jakiś haczyk lub inna opcja kontroli tego, czego mi brakuje?


Usunąłem poprzednią odpowiedź, ponieważ nie była to pozytywna odpowiedź na twoje pytanie (a raczej odpowiedź stwierdzająca, że ​​nie mogę znaleźć prostej odpowiedzi). Ponadto, po drugim spojrzeniu na poprzednią odpowiedź, był zbyt krótki / cienki z kontekstem i przykładami.
Jonnybojangles,

Zmęczyłem się ponownie spojrzeniem na pytanie („Czy istnieje jakiś haczyk lub inna opcja kontrolowania tego, którego mi brakuje?”) I nie widzę żadnych bezpośrednich sposobów na zaczepienie lub filtrowanie klasy WP_Http_Encoding WordPressa (gdzie metody są dostępne, kodowanie akceptowalne i znaleziono dekompresję). W WP_http znajduje się kilka haczyków i filtrów, ale żadnego z nich nie widzę, by powodowały deflację. Niestety nie widzę żadnego sposobu, aby zmienić priorytet deflacji WordPressa poza wprowadzaniem zmian i przesyłaniem poprawek do rdzenia. Czy możesz podać przykłady kodu żądania WordPress wymagającego ustawienia metody deflacji?
Jonnybojangles,

@Jonnybojangles widzi odnośniki w pytaniu o przypadek użycia ... Prawdopodobnie jest to przypadek skrajny, ale brak kontroli nad tym jest do bani, gdy trzeba go zmienić.
Rarst

Odpowiedzi:


4

Całkiem nieoczekiwany przypadek, ale mimo to akceptowane typy kodowania powinny być filtrowalne. Widzę kilka sytuacji, w których przydałaby się precyzyjna, szczegółowa kontrola nad tym nagłówkiem (jak w przypadku dodawania interfejsu API, który wykorzystuje niestandardowe kodowanie).

Tak więc, chociaż nie ma na to haka magazynowego, stworzyłem dla niego bilet Trac i przesłałem łatkę . Jeśli wyrazisz poparcie w sprawie biletu, być może możemy zwiększyć hałas, aby włączyć go do przyszłej wersji.


1
Dziękujemy za poruszenie problemu, ponieważ wiesz, że nie śledzę zbyt wiele. :)
Rarst

2

Krótka odpowiedź: nie, nie ma na to haka.

Długa odpowiedź: prawdopodobnie możesz przesłać łatkę na WordPress Trac , jeśli naprawdę potrzebujesz dostosować tę opcję. Osobiście nigdy nie miałem WP_Http_Encoding::accept_encoding()problemów, a na wspomniane pytanie można było odpowiedzieć ręcznie gzinflate(). IMHO, wydaje się, że jest to jedyne rozwiązanie, dopóki ktoś nie prześle łaty.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.