¿Cómo enviar una respuesta json comprimida desde Google Cloud Functions?
Mis respuestas JSON en una de mis funciones de Google Cloud podrían reducirse hasta un 70-80% si respondo usando la compresión gzip.
¿Cómo puedo enviar una respuesta json comprimida desde mis funciones (disparador a través de http (s))?
Esto también significaría que ahorraría en muchos gastos de red con la plataforma en la nube de Google y una carga más rápida de los datos para los consumidores móviles de datos.
He intentado usar elzlib
módulo nativo pero sin suerte ...
if (req.get('Accept-Encoding') && req.get('Accept-Encoding').indexOf('gzip') > -1) {
interpretation.gzip = true;
const zlib = require('zlib');
res.set('Content-Type', 'text/plain');
res.set('Content-Encoding', 'gzip');
zlib.gzip(JSON.stringify(interpretation), function (error, result) {
if (error) throw error;
res.status(200).send(result);
})
} else {
interpretation.gzip = false;
res.status(200).send(interpretation);
}
En Postman, el tamaño de la respuesta es el mismo, el tipo de contenido ha cambiado, pero no hayContent-Encoding
encabezado establecido en la respuesta ...