@fastify/reply-from 7.0.1 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/.github/workflows/ci.yml +8 -51
  2. package/README.md +15 -4
  3. package/example.js +2 -2
  4. package/index.d.ts +2 -1
  5. package/index.js +22 -8
  6. package/lib/errors.js +13 -0
  7. package/lib/request.js +9 -4
  8. package/package.json +20 -23
  9. package/test/async-route-handler.js +2 -2
  10. package/test/base-get.js +2 -2
  11. package/test/base-path.js +1 -1
  12. package/test/base-querystring.js +2 -2
  13. package/test/core-with-path-in-base.js +2 -2
  14. package/test/custom-undici-instance.js +3 -3
  15. package/test/disable-request-logging.js +159 -0
  16. package/test/fastify-multipart-incompatibility.js +2 -2
  17. package/test/full-get.js +2 -2
  18. package/test/full-https-get.js +2 -2
  19. package/test/full-post-extended-content-type.js +2 -2
  20. package/test/full-post-http2.js +2 -2
  21. package/test/full-post-stream-core.js +2 -2
  22. package/test/full-post-stream.js +2 -2
  23. package/test/full-post.js +2 -2
  24. package/test/full-querystring-rewrite-option-complex.js +2 -2
  25. package/test/full-querystring-rewrite-option-function.js +2 -2
  26. package/test/full-querystring-rewrite-option.js +2 -2
  27. package/test/full-querystring-rewrite-string.js +2 -2
  28. package/test/full-querystring-rewrite.js +2 -2
  29. package/test/full-querystring.js +2 -2
  30. package/test/full-rewrite-body-content-type.js +2 -2
  31. package/test/full-rewrite-body-http.js +2 -2
  32. package/test/full-rewrite-body-to-empty-string.js +2 -2
  33. package/test/full-rewrite-body-to-null.js +2 -2
  34. package/test/full-rewrite-body.js +2 -2
  35. package/test/get-upstream-http.js +3 -3
  36. package/test/get-upstream-undici.js +2 -2
  37. package/test/get-with-body.js +2 -2
  38. package/test/head-with-body.js +2 -2
  39. package/test/host-header.js +2 -2
  40. package/test/http-agents.js +2 -2
  41. package/test/http-http2.js +2 -2
  42. package/test/http-invalid-target.js +2 -1
  43. package/test/http-retry.js +6 -6
  44. package/test/http-timeout.js +3 -2
  45. package/test/http2-http2.js +2 -2
  46. package/test/http2-https.js +2 -2
  47. package/test/http2-invalid-target.js +2 -1
  48. package/test/http2-target-crash.js +3 -2
  49. package/test/http2-target-multi-crash.js +4 -3
  50. package/test/http2-timeout.js +6 -4
  51. package/test/https-agents.js +2 -2
  52. package/test/index.test-d.ts +3 -2
  53. package/test/modifyCoreObjects-false.js +2 -2
  54. package/test/no-body-opts-with-get.js +2 -2
  55. package/test/no-body-opts-with-head.js +2 -2
  56. package/test/no-stream-body-option.js +2 -2
  57. package/test/on-error.js +10 -4
  58. package/test/onResponse.js +2 -2
  59. package/test/padded-body.js +2 -2
  60. package/test/post-formbody.js +2 -2
  61. package/test/post-plain-text.js +2 -2
  62. package/test/post-with-custom-encoded-contenttype.js +2 -2
  63. package/test/retry-on-503.js +6 -6
  64. package/test/rewrite-headers.js +2 -2
  65. package/test/rewrite-request-headers.js +2 -2
  66. package/test/transform-body.js +2 -2
  67. package/test/undici-agent.js +2 -2
  68. package/test/undici-body.js +2 -2
  69. package/test/undici-options.js +2 -2
  70. package/test/undici-retry.js +6 -6
  71. package/test/undici-timeout-body-partial.js +2 -2
  72. package/test/undici-timeout-body.js +2 -2
  73. package/test/undici-timeout.js +3 -2
  74. package/test/undici-with-path-in-base.js +2 -2
  75. package/test/undici.js +2 -2
  76. package/test/unexpected-error.js +2 -1
  77. package/test/unix-http-undici-from.js +1 -1
  78. package/test/unix-http-undici.js +1 -1
  79. package/test/unix-http.js +1 -1
  80. package/test/unix-https-undici.js +1 -1
  81. package/test/unix-https.js +1 -1
@@ -28,14 +28,14 @@ test('http -> http2', async function (t) {
28
28
 
29
29
  t.teardown(target.close.bind(target))
30
30
 
31
- await target.listen(0)
31
+ await target.listen({ port: 0 })
32
32
 
33
33
  instance.register(From, {
34
34
  base: `http://localhost:${target.server.address().port}`,
35
35
  http2: true
36
36
  })
37
37
 
38
- await instance.listen(0)
38
+ await instance.listen({ port: 0 })
39
39
 
40
40
  const { headers, body, statusCode } = await got(`http://localhost:${instance.server.address().port}`, {
41
41
  method: 'POST',
@@ -43,10 +43,10 @@ instance.post('/', (request, reply) => {
43
43
 
44
44
  t.teardown(target.close.bind(target))
45
45
 
46
- instance.listen(0, (err) => {
46
+ instance.listen({ port: 0 }, (err) => {
47
47
  t.error(err)
48
48
 
49
- target.listen(0, (err) => {
49
+ target.listen({ port: 0 }, (err) => {
50
50
  t.error(err)
51
51
 
52
52
  get({
@@ -41,10 +41,10 @@ instance.post('/', (request, reply) => {
41
41
 
42
42
  t.teardown(target.close.bind(target))
43
43
 
44
- instance.listen(0, (err) => {
44
+ instance.listen({ port: 0 }, (err) => {
45
45
  t.error(err)
46
46
 
47
- target.listen(0, (err) => {
47
+ target.listen({ port: 0 }, (err) => {
48
48
  t.error(err)
49
49
 
50
50
  get({
package/test/full-post.js CHANGED
@@ -35,10 +35,10 @@ instance.post('/', (request, reply) => {
35
35
 
36
36
  t.teardown(target.close.bind(target))
37
37
 
38
- instance.listen(0, (err) => {
38
+ instance.listen({ port: 0 }, (err) => {
39
39
  t.error(err)
40
40
 
41
- target.listen(0, (err) => {
41
+ target.listen({ port: 0 }, (err) => {
42
42
  t.error(err)
43
43
 
44
44
  get({
@@ -29,12 +29,12 @@ instance.get('/hello', (request, reply) => {
29
29
 
30
30
  t.teardown(target.close.bind(target))
31
31
 
32
- target.listen(0, (err) => {
32
+ target.listen({ port: 0 }, (err) => {
33
33
  t.error(err)
34
34
 
35
35
  instance.register(From)
36
36
 
37
- instance.listen(0, (err) => {
37
+ instance.listen({ port: 0 }, (err) => {
38
38
  t.error(err)
39
39
 
40
40
  get(`http://localhost:${instance.server.address().port}/hello?a=b`, (err, res, data) => {
@@ -32,12 +32,12 @@ instance.get('/hello', (request, reply) => {
32
32
 
33
33
  t.teardown(target.close.bind(target))
34
34
 
35
- target.listen(0, (err) => {
35
+ target.listen({ port: 0 }, (err) => {
36
36
  t.error(err)
37
37
 
38
38
  instance.register(From)
39
39
 
40
- instance.listen(0, (err) => {
40
+ instance.listen({ port: 0 }, (err) => {
41
41
  t.error(err)
42
42
 
43
43
  get(`http://localhost:${instance.server.address().port}/hello?a=b`, (err, res, data) => {
@@ -29,12 +29,12 @@ instance.get('/hello', (request, reply) => {
29
29
 
30
30
  t.teardown(target.close.bind(target))
31
31
 
32
- target.listen(0, (err) => {
32
+ target.listen({ port: 0 }, (err) => {
33
33
  t.error(err)
34
34
 
35
35
  instance.register(From)
36
36
 
37
- instance.listen(0, (err) => {
37
+ instance.listen({ port: 0 }, (err) => {
38
38
  t.error(err)
39
39
 
40
40
  get(`http://localhost:${instance.server.address().port}/hello?a=b`, (err, res, data) => {
@@ -27,12 +27,12 @@ instance.get('/hello', (request, reply) => {
27
27
 
28
28
  t.teardown(target.close.bind(target))
29
29
 
30
- target.listen(0, (err) => {
30
+ target.listen({ port: 0 }, (err) => {
31
31
  t.error(err)
32
32
 
33
33
  instance.register(From)
34
34
 
35
- instance.listen(0, (err) => {
35
+ instance.listen({ port: 0 }, (err) => {
36
36
  t.error(err)
37
37
 
38
38
  get(`http://localhost:${instance.server.address().port}/hello?a=b`, (err, res, data) => {
@@ -27,12 +27,12 @@ instance.get('/hello', (request, reply) => {
27
27
 
28
28
  t.teardown(target.close.bind(target))
29
29
 
30
- target.listen(0, (err) => {
30
+ target.listen({ port: 0 }, (err) => {
31
31
  t.error(err)
32
32
 
33
33
  instance.register(From)
34
34
 
35
- instance.listen(0, (err) => {
35
+ instance.listen({ port: 0 }, (err) => {
36
36
  t.error(err)
37
37
 
38
38
  get(`http://localhost:${instance.server.address().port}/hello?a=b`, (err, res, data) => {
@@ -27,12 +27,12 @@ instance.get('/hello', (request, reply) => {
27
27
 
28
28
  t.teardown(target.close.bind(target))
29
29
 
30
- target.listen(0, (err) => {
30
+ target.listen({ port: 0 }, (err) => {
31
31
  t.error(err)
32
32
 
33
33
  instance.register(From)
34
34
 
35
- instance.listen(0, (err) => {
35
+ instance.listen({ port: 0 }, (err) => {
36
36
  t.error(err)
37
37
 
38
38
  get(`http://localhost:${instance.server.address().port}/hello?a=b`, (err, res, data) => {
@@ -38,10 +38,10 @@ instance.post('/', (request, reply) => {
38
38
 
39
39
  t.teardown(target.close.bind(target))
40
40
 
41
- instance.listen(0, (err) => {
41
+ instance.listen({ port: 0 }, (err) => {
42
42
  t.error(err)
43
43
 
44
- target.listen(0, (err) => {
44
+ target.listen({ port: 0 }, (err) => {
45
45
  t.error(err)
46
46
 
47
47
  get({
@@ -42,10 +42,10 @@ instance.post('/', (request, reply) => {
42
42
 
43
43
  t.teardown(target.close.bind(target))
44
44
 
45
- instance.listen(0, (err) => {
45
+ instance.listen({ port: 0 }, (err) => {
46
46
  t.error(err)
47
47
 
48
- target.listen(0, (err) => {
48
+ target.listen({ port: 0 }, (err) => {
49
49
  t.error(err)
50
50
 
51
51
  get({
@@ -40,10 +40,10 @@ instance.post('/', (request, reply) => {
40
40
 
41
41
  t.teardown(target.close.bind(target))
42
42
 
43
- instance.listen(0, (err) => {
43
+ instance.listen({ port: 0 }, (err) => {
44
44
  t.error(err)
45
45
 
46
- target.listen(0, (err) => {
46
+ target.listen({ port: 0 }, (err) => {
47
47
  t.error(err)
48
48
 
49
49
  get({
@@ -40,10 +40,10 @@ instance.post('/', (request, reply) => {
40
40
 
41
41
  t.teardown(target.close.bind(target))
42
42
 
43
- instance.listen(0, (err) => {
43
+ instance.listen({ port: 0 }, (err) => {
44
44
  t.error(err)
45
45
 
46
- target.listen(0, (err) => {
46
+ target.listen({ port: 0 }, (err) => {
47
47
  t.error(err)
48
48
 
49
49
  get({
@@ -40,10 +40,10 @@ instance.post('/', (request, reply) => {
40
40
 
41
41
  t.teardown(target.close.bind(target))
42
42
 
43
- instance.listen(0, (err) => {
43
+ instance.listen({ port: 0 }, (err) => {
44
44
  t.error(err)
45
45
 
46
- target.listen(0, (err) => {
46
+ target.listen({ port: 0 }, (err) => {
47
47
  t.error(err)
48
48
 
49
49
  get({
@@ -49,11 +49,11 @@ instanceWithoutBase.get('/test2', (request, reply) => {
49
49
 
50
50
  t.teardown(target.close.bind(target))
51
51
 
52
- instance.listen(0, (err) => {
52
+ instance.listen({ port: 0 }, (err) => {
53
53
  t.error(err)
54
- instanceWithoutBase.listen(0, (err) => {
54
+ instanceWithoutBase.listen({ port: 0 }, (err) => {
55
55
  t.error(err)
56
- target.listen(0, (err) => {
56
+ target.listen({ port: 0 }, (err) => {
57
57
  t.error(err)
58
58
 
59
59
  get(`http://localhost:${instance.server.address().port}/test`, (err, res) => {
@@ -31,10 +31,10 @@ instance.get('/test', (request, reply) => {
31
31
 
32
32
  t.teardown(target.close.bind(target))
33
33
 
34
- instance.listen(0, (err) => {
34
+ instance.listen({ port: 0 }, (err) => {
35
35
  t.error(err)
36
36
 
37
- target.listen(0, (err) => {
37
+ target.listen({ port: 0 }, (err) => {
38
38
  t.error(err)
39
39
 
40
40
  get(`http://localhost:${instance.server.address().port}/test`, (err, res) => {
@@ -28,7 +28,7 @@ instance.get('/', (request, reply) => {
28
28
 
29
29
  t.teardown(target.close.bind(target))
30
30
 
31
- target.listen(0, (err) => {
31
+ target.listen({ port: 0 }, (err) => {
32
32
  t.error(err)
33
33
 
34
34
  instance.register(From, {
@@ -37,7 +37,7 @@ target.listen(0, (err) => {
37
37
  http: {}
38
38
  })
39
39
 
40
- instance.listen(0, (err) => {
40
+ instance.listen({ port: 0 }, (err) => {
41
41
  t.error(err)
42
42
 
43
43
  get({
@@ -30,7 +30,7 @@ instance.head('/', (request, reply) => {
30
30
 
31
31
  t.teardown(target.close.bind(target))
32
32
 
33
- target.listen(0, (err) => {
33
+ target.listen({ port: 0 }, (err) => {
34
34
  t.error(err)
35
35
 
36
36
  instance.register(From, {
@@ -39,7 +39,7 @@ target.listen(0, (err) => {
39
39
  http: {}
40
40
  })
41
41
 
42
- instance.listen(0, (err) => {
42
+ instance.listen({ port: 0 }, (err) => {
43
43
  t.error(err)
44
44
 
45
45
  get({
@@ -26,7 +26,7 @@ test('hostname', async (t) => {
26
26
  http: {} // force the use of Node.js core
27
27
  })
28
28
 
29
- await instance.listen(0)
29
+ await instance.listen({ port: 0 })
30
30
 
31
31
  const res = await got.get(`http://localhost:${instance.server.address().port}/ip`, {
32
32
  retry: 0
@@ -56,7 +56,7 @@ test('hostname and port', async (t) => {
56
56
  reply.from()
57
57
  })
58
58
 
59
- await instance.listen(0)
59
+ await instance.listen({ port: 0 })
60
60
 
61
61
  const res = await got.get(`http://localhost:${instance.server.address().port}/ip`, {
62
62
  retry: 0
@@ -28,7 +28,7 @@ instance.get('/', (request, reply) => {
28
28
 
29
29
  t.teardown(target.close.bind(target))
30
30
 
31
- target.listen(0, (err) => {
31
+ target.listen({ port: 0 }, (err) => {
32
32
  t.error(err)
33
33
 
34
34
  instance.register(From, {
@@ -41,7 +41,7 @@ target.listen(0, (err) => {
41
41
  }
42
42
  })
43
43
 
44
- instance.listen(0, (err) => {
44
+ instance.listen({ port: 0 }, (err) => {
45
45
  t.error(err)
46
46
 
47
47
  get(`http://localhost:${instance.server.address().port}`, (err, res, data) => {
@@ -27,14 +27,14 @@ test('http -> http2', async (t) => {
27
27
 
28
28
  t.teardown(target.close.bind(target))
29
29
 
30
- await target.listen(0)
30
+ await target.listen({ port: 0 })
31
31
 
32
32
  instance.register(From, {
33
33
  base: `http://localhost:${target.server.address().port}`,
34
34
  http2: true
35
35
  })
36
36
 
37
- await instance.listen(0)
37
+ await instance.listen({ port: 0 })
38
38
 
39
39
  try {
40
40
  await got(`http://localhost:${instance.server.address().port}`)
@@ -17,7 +17,7 @@ test('http invalid target', async (t) => {
17
17
  base: 'http://abc.xyz1'
18
18
  })
19
19
 
20
- await instance.listen(0)
20
+ await instance.listen({ port: 0 })
21
21
 
22
22
  try {
23
23
  await got(`http://localhost:${instance.server.address().port}`)
@@ -26,6 +26,7 @@ test('http invalid target', async (t) => {
26
26
  t.match(err.response.headers['content-type'], /application\/json/)
27
27
  t.same(JSON.parse(err.response.body), {
28
28
  statusCode: 503,
29
+ code: 'FST_REPLY_FROM_SERVICE_UNAVAILABLE',
29
30
  error: 'Service Unavailable',
30
31
  message: 'Service Unavailable'
31
32
  })
@@ -22,7 +22,7 @@ const target = require('http').createServer(function (req, res) {
22
22
  test('Will retry', async function (t) {
23
23
  t.teardown(() => { retryNum = 1 })
24
24
 
25
- await target.listen(0)
25
+ await target.listen({ port: 0 })
26
26
  t.teardown(target.close.bind(target))
27
27
 
28
28
  const instance = Fastify()
@@ -39,7 +39,7 @@ test('Will retry', async function (t) {
39
39
  })
40
40
  })
41
41
 
42
- await instance.listen(0)
42
+ await instance.listen({ port: 0 })
43
43
  t.teardown(instance.close.bind(instance))
44
44
 
45
45
  const { statusCode } = await got.get(`http://localhost:${instance.server.address().port}/`, { retry: 0 })
@@ -49,7 +49,7 @@ test('Will retry', async function (t) {
49
49
  test('will not retry', async function (t) {
50
50
  t.teardown(() => { retryNum = 1 })
51
51
 
52
- await target.listen(0)
52
+ await target.listen({ port: 0 })
53
53
  t.teardown(target.close.bind(target))
54
54
 
55
55
  const instance = Fastify()
@@ -66,7 +66,7 @@ test('will not retry', async function (t) {
66
66
  })
67
67
  })
68
68
 
69
- await instance.listen(0)
69
+ await instance.listen({ port: 0 })
70
70
  t.teardown(instance.close.bind(instance))
71
71
 
72
72
  try {
@@ -80,7 +80,7 @@ test('will not retry', async function (t) {
80
80
  test('will not retry unsupported method', async function (t) {
81
81
  t.teardown(() => { retryNum = 1 })
82
82
 
83
- await target.listen(0)
83
+ await target.listen({ port: 0 })
84
84
  t.teardown(target.close.bind(target))
85
85
 
86
86
  const instance = Fastify()
@@ -97,7 +97,7 @@ test('will not retry unsupported method', async function (t) {
97
97
  })
98
98
  })
99
99
 
100
- await instance.listen(0)
100
+ await instance.listen({ port: 0 })
101
101
  t.teardown(instance.close.bind(instance))
102
102
 
103
103
  try {
@@ -23,7 +23,7 @@ target.get('/', (request, reply) => {
23
23
  })
24
24
 
25
25
  async function main () {
26
- await target.listen(0)
26
+ await target.listen({ port: 0 })
27
27
 
28
28
  const instance = Fastify()
29
29
  t.teardown(instance.close.bind(instance))
@@ -34,7 +34,7 @@ async function main () {
34
34
  reply.from(`http://localhost:${target.server.address().port}/`)
35
35
  })
36
36
 
37
- await instance.listen(0)
37
+ await instance.listen({ port: 0 })
38
38
 
39
39
  try {
40
40
  await got.get(`http://localhost:${instance.server.address().port}/`, { retry: 0 })
@@ -43,6 +43,7 @@ async function main () {
43
43
  t.match(err.response.headers['content-type'], /application\/json/)
44
44
  t.same(JSON.parse(err.response.body), {
45
45
  statusCode: 504,
46
+ code: 'FST_REPLY_FROM_GATEWAY_TIMEOUT',
46
47
  error: 'Gateway Timeout',
47
48
  message: 'Gateway Timeout'
48
49
  })
@@ -36,7 +36,7 @@ t.test('http2 -> http2', async (t) => {
36
36
 
37
37
  t.teardown(target.close.bind(target))
38
38
 
39
- await target.listen(0)
39
+ await target.listen({ port: 0 })
40
40
 
41
41
  instance.register(From, {
42
42
  base: `http://localhost:${target.server.address().port}`,
@@ -44,7 +44,7 @@ t.test('http2 -> http2', async (t) => {
44
44
  rejectUnauthorized: false
45
45
  })
46
46
 
47
- await instance.listen(0)
47
+ await instance.listen({ port: 0 })
48
48
 
49
49
  const { headers, body } = await h2url.concat({
50
50
  url: `https://localhost:${instance.server.address().port}`
@@ -39,14 +39,14 @@ instance.get('/', (request, reply) => {
39
39
  t.teardown(target.close.bind(target))
40
40
 
41
41
  async function run () {
42
- await target.listen(0)
42
+ await target.listen({ port: 0 })
43
43
 
44
44
  instance.register(From, {
45
45
  base: `https://localhost:${target.server.address().port}`,
46
46
  rejectUnauthorized: false
47
47
  })
48
48
 
49
- await instance.listen(0)
49
+ await instance.listen({ port: 0 })
50
50
 
51
51
  t.test('http2 -> https', async (t) => {
52
52
  const { headers, body } = await h2url.concat({
@@ -18,7 +18,7 @@ test('http2 invalid target', async (t) => {
18
18
  http2: true
19
19
  })
20
20
 
21
- await instance.listen(0)
21
+ await instance.listen({ port: 0 })
22
22
 
23
23
  try {
24
24
  await got(`http://localhost:${instance.server.address().port}`)
@@ -27,6 +27,7 @@ test('http2 invalid target', async (t) => {
27
27
  t.match(err.response.headers['content-type'], /application\/json/)
28
28
  t.same(JSON.parse(err.response.body), {
29
29
  statusCode: 503,
30
+ code: 'FST_REPLY_FROM_SERVICE_UNAVAILABLE',
30
31
  error: 'Service Unavailable',
31
32
  message: 'Service Unavailable'
32
33
  })
@@ -27,14 +27,14 @@ test('http -> http2 crash', async (t) => {
27
27
 
28
28
  t.teardown(target.close.bind(target))
29
29
 
30
- await target.listen(0)
30
+ await target.listen({ port: 0 })
31
31
 
32
32
  instance.register(From, {
33
33
  base: `http://localhost:${target.server.address().port}`,
34
34
  http2: true
35
35
  })
36
36
 
37
- await instance.listen(0)
37
+ await instance.listen({ port: 0 })
38
38
 
39
39
  try {
40
40
  await target.close()
@@ -44,6 +44,7 @@ test('http -> http2 crash', async (t) => {
44
44
  t.match(err.response.headers['content-type'], /application\/json/)
45
45
  t.same(JSON.parse(err.response.body), {
46
46
  statusCode: 503,
47
+ code: 'FST_REPLY_FROM_SERVICE_UNAVAILABLE',
47
48
  error: 'Service Unavailable',
48
49
  message: 'Service Unavailable'
49
50
  })
@@ -20,15 +20,15 @@ test('http -> http2 crash multiple times', async (t) => {
20
20
  sessionTimeout: 200
21
21
  })
22
22
 
23
- await instance.listen(0)
23
+ await instance.listen({ port: 0 })
24
24
 
25
25
  try {
26
26
  let target = setupTarget()
27
- await target.listen(3128)
27
+ await target.listen({ port: 3128 })
28
28
  await got(`http://localhost:${instance.server.address().port}`)
29
29
  await target.close()
30
30
  target = setupTarget()
31
- await target.listen(3128)
31
+ await target.listen({ port: 3128 })
32
32
  await got(`http://localhost:${instance.server.address().port}`)
33
33
  await target.close()
34
34
  await got(`http://localhost:${instance.server.address().port}`)
@@ -37,6 +37,7 @@ test('http -> http2 crash multiple times', async (t) => {
37
37
  t.match(err.response.headers['content-type'], /application\/json/)
38
38
  t.same(JSON.parse(err.response.body), {
39
39
  statusCode: 503,
40
+ code: 'FST_REPLY_FROM_SERVICE_UNAVAILABLE',
40
41
  error: 'Service Unavailable',
41
42
  message: 'Service Unavailable'
42
43
  })
@@ -13,7 +13,7 @@ test('http2 request timeout', async (t) => {
13
13
  t.pass('request arrives')
14
14
  })
15
15
 
16
- await target.listen(0)
16
+ await target.listen({ port: 0 })
17
17
 
18
18
  const instance = Fastify()
19
19
  t.teardown(instance.close.bind(instance))
@@ -27,7 +27,7 @@ test('http2 request timeout', async (t) => {
27
27
  reply.from(`http://localhost:${target.server.address().port}/`)
28
28
  })
29
29
 
30
- await instance.listen(0)
30
+ await instance.listen({ port: 0 })
31
31
 
32
32
  try {
33
33
  await got.get(`http://localhost:${instance.server.address().port}/`, {
@@ -38,6 +38,7 @@ test('http2 request timeout', async (t) => {
38
38
  t.match(err.response.headers['content-type'], /application\/json/)
39
39
  t.same(JSON.parse(err.response.body), {
40
40
  statusCode: 504,
41
+ code: 'FST_REPLY_FROM_GATEWAY_TIMEOUT',
41
42
  error: 'Gateway Timeout',
42
43
  message: 'Gateway Timeout'
43
44
  })
@@ -56,7 +57,7 @@ test('http2 session timeout', async (t) => {
56
57
  t.pass('request arrives')
57
58
  })
58
59
 
59
- await target.listen(0)
60
+ await target.listen({ port: 0 })
60
61
 
61
62
  const instance = Fastify()
62
63
  t.teardown(instance.close.bind(instance))
@@ -70,7 +71,7 @@ test('http2 session timeout', async (t) => {
70
71
  reply.from(`http://localhost:${target.server.address().port}/`)
71
72
  })
72
73
 
73
- await instance.listen(0)
74
+ await instance.listen({ port: 0 })
74
75
 
75
76
  try {
76
77
  await got.get(`http://localhost:${instance.server.address().port}/`, {
@@ -81,6 +82,7 @@ test('http2 session timeout', async (t) => {
81
82
  t.match(err.response.headers['content-type'], /application\/json/)
82
83
  t.same(JSON.parse(err.response.body), {
83
84
  statusCode: 504,
85
+ code: 'FST_REPLY_FROM_GATEWAY_TIMEOUT',
84
86
  error: 'Gateway Timeout',
85
87
  message: 'Gateway Timeout'
86
88
  })
@@ -37,7 +37,7 @@ instance.get('/', (request, reply) => {
37
37
 
38
38
  t.teardown(target.close.bind(target))
39
39
 
40
- target.listen(0, (err) => {
40
+ target.listen({ port: 0 }, (err) => {
41
41
  t.error(err)
42
42
 
43
43
  instance.register(From, {
@@ -50,7 +50,7 @@ target.listen(0, (err) => {
50
50
  }
51
51
  })
52
52
 
53
- instance.listen(0, (err) => {
53
+ instance.listen({ port: 0 }, (err) => {
54
54
  t.error(err)
55
55
 
56
56
  get({
@@ -44,6 +44,7 @@ const fullOptions: FastifyReplyFromOptions = {
44
44
  contentTypesToEncode: ['application/x-www-form-urlencoded'],
45
45
  retryMethods: ['GET', 'HEAD', 'OPTIONS', 'TRACE'],
46
46
  maxRetriesOn503: 10,
47
+ disableRequestLogging: false,
47
48
  };
48
49
  tap.autoend(false);
49
50
 
@@ -103,7 +104,7 @@ async function main() {
103
104
  });
104
105
  });
105
106
 
106
- await target.listen(0);
107
+ await target.listen({ port: 0 });
107
108
  const port = (target.server.address() as AddressInfo).port;
108
109
  instance.register(replyFrom, {
109
110
  base: `http://localhost:${port}`,
@@ -117,7 +118,7 @@ async function main() {
117
118
  base: `http://localhost:${port}`,
118
119
  http2: true,
119
120
  });
120
- await instance.listen(0);
121
+ await instance.listen({ port: 0 });
121
122
 
122
123
  const undiciInstance = fastify();
123
124
  undiciInstance.register(replyFrom, {
@@ -27,14 +27,14 @@ instance.get('/', (request, reply) => {
27
27
 
28
28
  t.teardown(target.close.bind(target))
29
29
 
30
- target.listen(0, (err) => {
30
+ target.listen({ port: 0 }, (err) => {
31
31
  t.error(err)
32
32
 
33
33
  instance.register(From, {
34
34
  base: `http://localhost:${target.address().port}`
35
35
  })
36
36
 
37
- instance.listen(0, (err) => {
37
+ instance.listen({ port: 0 }, (err) => {
38
38
  t.error(err)
39
39
 
40
40
  get(`http://localhost:${instance.server.address().port}`, (err, res, data) => {