Як контролювати прийняття кодування на HTTP-запити API?


11

Пов’язаний з цим квитком про проблеми із завищенням даних .

Поки підтримка API пропонувала запропонувати gzip замість дефляції .

Однак я не можу знайти спосіб змінити параметри WP, які встановлюють дефляцію з найвищим пріоритетом як прийняте кодування для всіх запитів.

Пов'язані функції - WP_Http_Encoding::is_available()і WP_Http_Encoding::accept_encoding().

Чи є якийсь гачок чи інший варіант контролювати це, що я пропускаю?


Я видалив свою попередню відповідь, оскільки це не було позитивним вирішенням вашого питання (а скоріше відповідь, в якій сказано, що я не можу знайти просту відповідь). Крім того, при другому погляді попередньої відповіді він був занадто короткий / тонкий з контекстом та прикладами.
Jonnybojangles

Я втомився переглядати питання ("Чи є якийсь гак чи інший варіант, щоб контролювати це, що мені не вистачає?") І не бачу прямого способу підключити або фільтрувати клас WordPress 'WP_Http_Encoding (де методи доступні, accept_encoding і виявлено декомпресію). У WP_http є декілька гачків і фільтрів, але жоден, який я бачу, що робить спуску. На жаль, я не бачу жодного способу змінити пріоритет WordPress, що знижується, поза межами внесення змін та подання патчів до ядра. Чи можете ви надати приклади коду запиту, зробленого WordPress, для встановлення якого потрібен метод спуску?
Jonnybojangles

@Jonnybojangles див. Посилання, про які йдеться у випадку використання ... Це, мабуть, досить крайній випадок, але відсутність контролю над цим дуже важко, коли вам потрібно це змінити.
Рарст

Відповіді:


4

Досить кращий регістр, але прийняті типи кодування повинні бути фільтруються. Я можу побачити кілька ситуацій, коли точний, детальний контроль над цим заголовком був би корисним (як при додаванні API, який використовує нестандартне кодування).

Тож, поки немає для цього гака для акцій, я створив квиток на Trac для нього і подав патч . Якщо ви озвучуєте підтримку в квитку, можливо, ми можемо підняти достатньо шуму, щоб включити його до майбутнього випуску.


1
Дякую, що ви порушили цю проблему, оскільки ви знаєте, що я не дуже багато розглядаю. :)
Рарст

2

Коротка відповідь: Ні, для цього немає гачка.

Довга відповідь: Ви, можливо, можете надіслати виправлення у WordPress Trac , якщо вам дійсно потрібно налаштувати цю опцію. Особисто у мене ніколи не було проблем, WP_Http_Encoding::accept_encoding()і на запитання, про яке ви згадали, можна було відповісти вручну gzinflate(). ІМХО, це здається єдиним рішенням, поки хтось не подасть виправлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.