blob: 6643ddaf6f7a35e23d1379c5db06440a230966a6 (
plain)
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
|
'use strict'
const { request, errors } = require('../../..')
const acceptableCodes = [
'ERR_INVALID_ARG_TYPE'
]
// TODO: could make this a class with some inbuilt functionality that we can inherit
async function fuzz (netServer, results, buf) {
const body = buf
results.body = body
try {
const data = await request(`http://localhost:${netServer.address().port}`, { body })
data.body.destroy().on('error', () => {})
} catch (err) {
results.err = err
// Handle any undici errors
if (Object.values(errors).some(undiciError => err instanceof undiciError)) {
// Okay error
} else if (!acceptableCodes.includes(err.code)) {
console.log(`=== Headers: ${JSON.stringify(body)} ===`)
throw err
}
}
}
module.exports = fuzz
|