@abaccus/koapression
v1.0.1
Published
Koa compression middleware
Downloads
7
Readme
Koapression
Koa Compression middleware.
The following compression codings are supported:
- deflate
- gzip
- brotli
Install
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
$ npm install @abaccus/koapression
API
const koapression = require('@abaccus/koapression')
Example
const koapression = require('@abaccus/koapression')
const Koa = require('koa')
const app = new Koa()
app.use(compress({
filter: function (content_type) {
return /text/i.test(content_type)
},
threshold: 2048,
flush: require('zlib').Z_SYNC_FLUSH
}))
Options
The options are passed to zlib
: http://nodejs.org/api/zlib.html#zlib_options
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)
})