Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const zlib = require('zlib')
- /**
- * @description custom compression content encoding
- */
- module.exports = () => {
- return (req, res, next) => {
- const compressType = req.headers['accept-encoding'].replace(/[,]/g, '').split(' ')
- if (compressType[0] !== undefined && compressType[0] !== null) {
- zlib.createGzip({
- level: zlib.constants.Z_BEST_COMPRESSION,
- strategy: zlib.constants.Z_RLE,
- flush: zlib.constants.Z_FULL_FLUSH
- })
- return next()
- }
- if (compressType[1] !== undefined && compressType[1] !== null) {
- zlib.createDeflate({
- level: zlib.constants.Z_BEST_COMPRESSION,
- strategy: zlib.constants.Z_RLE,
- flush: zlib.constants.Z_FULL_FLUSH
- })
- return next()
- }
- if (compressType[2] !== undefined && compressType[2] !== null) {
- zlib.createBrotliCompress({
- flush: zlib.constants.BROTLI_OPERATION_FLUSH
- })
- return next()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement