Come controllare accettare la codifica su richieste API HTTP?


11

Relativo a questo ticket relativo a problemi con il gonfiamento dei dati .

Finora era stato suggerito dal supporto dell'API di richiedere gzip invece di deflate .

Tuttavia, non riesco a trovare un modo per sovrascrivere le impostazioni WP che impostano deflate con la massima priorità come codifica accettata per tutte le richieste.

Funzioni correlate - WP_Http_Encoding::is_available()e WP_Http_Encoding::accept_encoding().

C'è qualche hook o altra opzione per controllare ciò che mi manca?


Ho rimosso la mia risposta precedente perché non era una risoluzione positiva alla tua domanda (e piuttosto una risposta che diceva che non riesco a trovare una risposta semplice). Inoltre, alla seconda occhiata della risposta precedente, era troppo breve / sottile con contesto ed esempi.
Jonnybojangles,

Mi sono stancato di esaminare nuovamente la domanda ("Esiste un hook o un'altra opzione per controllare ciò che mi manca?") E non vedo mezzi diretti per agganciare o filtrare la classe WP_Http_Encoding di WordPress (dove i metodi sono_disponibili, accetta_codifica e decompressione trovata). Ci sono alcuni hook e filtri con in WP_http ma nessuno che riesco a vedere ha effetto deflate. Sfortunatamente, non vedo alcun modo per cambiare la priorità di sgonfiamento di WordPress al di fuori di apportare modifiche e inviare patch al core. Potete fornire esempi di codice della richiesta fatta da WordPress che necessita di un metodo di deflazione da impostare?
Jonnybojangles,

@Jonnybojangles vede i link in questione per il caso d'uso ... Questo è probabilmente il caso limite, ma la mancanza di controllo su questo fa schifo quando si ha bisogno di cambiarlo.
Rarst

Risposte:


4

Piuttosto un caso limite, ma i tipi di codifica accettati dovrebbero essere comunque filtrabili. Riesco a vedere alcune situazioni in cui sarebbe utile un controllo granulare su questa intestazione (come nell'aggiunta di un'API che utilizza una codifica non standard).

Quindi, sebbene non ci sia aggancio di magazzino per questo, ho creato un ticket Trac per esso e ho inviato una patch . Se si supporta il supporto vocale sul ticket, forse è possibile aumentare il rumore sufficiente per incorporarlo in una versione futura.


1
Grazie per aver sollevato problemi lì, come sai che non faccio molto trac. :)
Rarst

2

Risposta breve: No, non c'è gancio per quello.

Risposta lunga: è possibile inviare una patch a WordPress Trac , se è necessario modificare questa opzione. Personalmente, non ho mai avuto problemi WP_Http_Encoding::accept_encoding()e alla domanda che hai menzionato potrebbe essere data risposta manualmente gzinflate(). IMHO, questa sembra essere l'unica soluzione finché qualcuno non invia una patch.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.