333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
var zlib = require('zlib')
 
module.exports = inflate
 
function inflate(stream, options) {
  if (!stream) {
    throw new TypeError('argument stream is required')
  }
 
  options = options || {}
 
  var encoding = options.encoding
    || (stream.headers && stream.headers['content-encoding'])
    || 'identity'
 
  switch (encoding) {
  case 'gzip':
  case 'deflate':
    break
  case 'identity':
    return stream
  default:
    var err = new Error('Unsupported Content-Encoding: ' + encoding)
    err.status = 415
    throw err
  }
 
  // no not pass-through encoding
  delete options.encoding
 
  return stream.pipe(zlib.Unzip(options))
}