summaryrefslogtreecommitdiffstats
path: root/test/client-node-max-header-size.js
blob: b5374901644249556516662585f581d5e12d51f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'use strict'

const { execSync } = require('node:child_process')
const { test } = require('tap')

const command = 'node -e "require(\'.\').request(\'https://httpbin.org/get\')"'

test("respect Node.js' --max-http-header-size", async (t) => {
  t.throws(
    // TODO: Drop the `--unhandled-rejections=throw` once we drop Node.js 14
    () => execSync(`${command} --max-http-header-size=1 --unhandled-rejections=throw`),
    /UND_ERR_HEADERS_OVERFLOW/,
    'max-http-header-size=1 should throw'
  )

  t.doesNotThrow(
    () => execSync(command),
    /UND_ERR_HEADERS_OVERFLOW/,
    'default max-http-header-size should not throw'
  )

  t.end()
})