2017-08-29 2 views
3

J'utilise fetch.js (https://github.com/github/fetch) pour envoyer un objet json relativement grand au backend. Le json est grand en ce qu'il inclut une chaîne d'image SVG.Activation de la compression gzip avec fetch.js

Je ne sais pas si fetch.js utilise la compression gzip par défaut, ou si j'ai besoin de compresser manuellement et d'ajouter des en-têtes. Toute aide serait appréciée.

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; }); } })

Répondre

1

Je cherche actuellement des exemples de la façon de comprimer le corps de la requête pour une demande de api chercher.

Ma solution actuelle consiste à regrouper les éléments que je cherche en lots de 5k. Chaque lot est envoyé au serveur via fetch enveloppé dans une promesse.

Le client utilise ensuite promise.all pour combiner la réponse de chacune des requêtes par lots.

Il a été suggéré que je gzip/compresse une requête unique de grande taille, puis j'utilise un flux inscriptible par noeud pour renvoyer les données au client.

Retour à l'original q, je voudrais aussi savoir comment compresser la requête.