2017-08-29 2 views
3

Ich verwende fetch.js (https://github.com/github/fetch), um ein relativ großes JSON-Objekt an das Backend zu senden. Der JSON ist groß, da er eine SVG-Bildfolge enthält.Gzip-Komprimierung mit fetch.js aktivieren

Ich bin nicht klar, wenn fetch.js Gzip-Komprimierung standardmäßig verwendet, oder wenn ich Header manuell komprimieren und hinzufügen muss. Jede Hilfe wäre willkommen.

return new Promise((resolve, reject) => { fetch(api_base + "/api/save-photo", { method: 'POST', mode : 'cors', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }) .then((response) => { if (response.status === 404) { throw new Error('404 (Not Found)'); } else { return response.json().then((json) => { console.log('save poster response: ', json); return json; }); } })

Antwort

1

suche ich zur Zeit für Beispiele dafür, wie die Anfrage Körper für eine api Anfrage holen zu komprimieren.

Meine aktuelle Lösung beinhaltet Chunking die Elemente, die ich suche in 5k Chargen. Jeder Stapel wird per Abruf in einem Versprechen an den Server gesendet.

Der Client verwendet dann "provect.all", um die Antwort von jeder der Batch-Anforderungen zu kombinieren.

Es wurde vorgeschlagen, dass ich eine große einzelne Anfrage gzip/compresse, dann benutze Node Writeable Stream, um die Daten zurück zum Client zu senden.

Zurück zum ursprünglichen q, ich möchte auch wissen, wie man die Anfrage komprimiert.