'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
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
34
35
36
37
38
39
40
41
 
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'
  
  var decompression
  switch (encoding) {
  case 'gzip':
  case 'deflate':
    delete options.brotli
    delete options.encoding
    decompression = zlib.createUnzip(options)
    break
  case 'br':
    if (zlib.createBrotliDecompress) {
      decompression = zlib.createBrotliDecompress(options.brotli)
    }
    break
  case 'identity':
    return stream
  }
 
  if (!decompression) {
    var err = new Error('Unsupported Content-Encoding: ' + encoding)
    err.status = 415
    throw err
  }
 
  return stream.pipe(decompression)
}