• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jeremydaly / lambda-api / #197

05 Apr 2025 05:27PM UTC coverage: 97.807%. Remained the same
#197

push

github

web-flow
chore(release): v1.2.0

756 of 772 branches covered (97.93%)

Branch coverage included in aggregate %.

671 of 687 relevant lines covered (97.67%)

155.67 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.55
/lib/compression.js
1
'use strict';
2
/**
3
 * Lightweight web framework for your serverless applications
4
 * @author Jeremy Daly <jeremy@jeremydaly.com>
5
 * @license MIT
6
 */
7

8
const zlib = require('zlib');
26✔
9

10
const defaultEnabledEcodings = ['gzip', 'deflate'];
26✔
11

12
exports.compress = (input, headers, _enabledEncodings) => {
26✔
13
  const enabledEncodings = new Set(_enabledEncodings || defaultEnabledEcodings);
4!
14
  const acceptEncodingHeader = headers['accept-encoding'] || '';
4!
15
  const acceptableEncodings = new Set(
4✔
16
    acceptEncodingHeader
17
      .toLowerCase()
18
      .split(',')
19
      .map((str) => str.trim())
7✔
20
  );
21

22
  // Handle Brotli compression (Only supported in Node v10 and later)
23
  if (
4✔
24
    acceptableEncodings.has('br') &&
6✔
25
    enabledEncodings.has('br') &&
26
    typeof zlib.brotliCompressSync === 'function'
27
  ) {
28
    return {
1✔
29
      data: zlib.brotliCompressSync(input),
30
      contentEncoding: 'br',
31
    };
32
  }
33

34
  // Handle Gzip compression
35
  if (acceptableEncodings.has('gzip') && enabledEncodings.has('gzip')) {
3✔
36
    return {
1✔
37
      data: zlib.gzipSync(input),
38
      contentEncoding: 'gzip',
39
    };
40
  }
41

42
  // Handle deflate compression
43
  if (acceptableEncodings.has('deflate') && enabledEncodings.has('deflate')) {
2✔
44
    return {
1✔
45
      data: zlib.deflateSync(input),
46
      contentEncoding: 'deflate',
47
    };
48
  }
49

50
  return {
1✔
51
    data: input,
52
    contentEncoding: null,
53
  };
54
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc