@bbkkbkk/koa-compress
v3.1.1
Published
Compress middleware for koa
Downloads
13
Readme
Koa Compress
Compress middleware for Koa
forked from koa-compress, support brotli compression.
Example
var compress = require('koa-compress')
var Koa = require('koa')
var app = new Koa()
app.use(compress(
/* compress Options(gzip) */
{
filter: function (content_type) {
return /text/i.test(content_type)
},
threshold: 2048,
flush: require('zlib').Z_SYNC_FLUSH
},
/* brOptions */
{ iltorb: true }
))
brOptions
iltorb: Replace zlib
with iltorb
module for br compression (The iltorb module is faster than zlib compression).
You must download the iltorb
module yourself.
If you use the zlib
module: https://nodejs.org/api/zlib.html#zlib_class_brotlioptions
If you use the iltorb
module: https://github.com/nstepien/iltorb
Options
The options are passed to zlib
: https://nodejs.org/api/zlib.html#zlib_class_optionsz
filter
An optional function that checks the response content type to decide whether to compress. By default, it uses compressible.
threshold
Minimum response size in bytes to compress.
Default 1024
bytes or 1kb
.
Manually turning compression on and off
You can always enable compression by setting this.compress = true
.
You can always disable compression by setting this.compress = false
.
This bypasses the filter check.
app.use((ctx, next) => {
ctx.compress = true
ctx.body = fs.createReadStream(file)
})