| 12345678910111213141516171819202122232425262728293031323334 | 
							- 'use strict';
 
- /**
 
-  *
 
-  *
 
-  * @author Mai
 
-  * @date
 
-  * @version
 
-  */
 
- const isJSON = require('koa-is-json');
 
- const zlib = require('zlib');
 
- module.exports = options => {
 
-     return async function gzip(ctx, next) {
 
-         await next();
 
-         // 后续中间件执行完成后将响应体转换成 gzip
 
-         let body = ctx.body;
 
-         if (!body) return;
 
-         //if (isJSON(body)) return;
 
-         // 支持 options.threshold
 
-         if (options.threshold && ctx.length < options.threshold) return;
 
-         if (isJSON(body)) body = JSON.stringify(body);
 
-         // 设置 gzip body,修正响应头
 
-         const stream = zlib.createGzip();
 
-         stream.end(body);
 
-         ctx.body = stream;
 
-         ctx.set('Content-Encoding', 'gzip');
 
-     };
 
- };
 
 
  |