fix: allow reading body from non-2xx responses in net.request (#21055)

* fix(urlrequest): allow non-2xx repsponse results

- closes #21046

* test(net): add test cases to verify non-2xx body

* test(session): update spec to match clientrequest behavior

* test(net): update test cases to match clientrequest behavior

* spec: clean up async net spec
This commit is contained in:
OJ Kwon 2019-11-25 14:34:25 -08:00 committed by Samuel Attard
parent 2e25999c52
commit ca61d2fae7
3 changed files with 70 additions and 9 deletions

View file

@ -511,12 +511,19 @@ describe('session module', () => {
const fetch = (url: string) => new Promise((resolve, reject) => {
const request = net.request({ url, session: ses })
request.on('response', (response) => {
let data = ''
let data: string | null = null
response.on('data', (chunk) => {
if (!data) {
data = ''
}
data += chunk
})
response.on('end', () => {
resolve(data)
if (!data) {
reject(new Error('Empty response'))
} else {
resolve(data)
}
})
response.on('error', (error: any) => { reject(new Error(error)) })
})