mirror of https://github.com/actions/toolkit
Merge remote-tracking branch 'upstream/main' into remove-dep-on-ms-rest-js
commit
37cc6762e6
|
@ -50,7 +50,18 @@ function setSecret(secret: string): void {}
|
||||||
|
|
||||||
Now, future logs containing BAR will be masked. E.g. running `echo "Hello FOO BAR World"` will now print `Hello FOO **** World`.
|
Now, future logs containing BAR will be masked. E.g. running `echo "Hello FOO BAR World"` will now print `Hello FOO **** World`.
|
||||||
|
|
||||||
**WARNING** The add-mask and setSecret commands only support single line secrets. To register a multiline secrets you must register each line individually otherwise it will not be masked.
|
**WARNING** The add-mask and setSecret commands only support single-line
|
||||||
|
secrets or multi-line secrets that have been escaped. `@actions/core`
|
||||||
|
`setSecret` will escape the string you provide by default. When an escaped
|
||||||
|
multi-line string is provided the whole string and each of its lines
|
||||||
|
individually will be masked. For example you can mask `first\nsecond\r\nthird`
|
||||||
|
using:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
echo "::add-mask::first%0Asecond%0D%0Athird"
|
||||||
|
```
|
||||||
|
|
||||||
|
This will mask `first%0Asecond%0D%0Athird`, `first`, `second` and `third`.
|
||||||
|
|
||||||
**WARNING** Do **not** mask short values if you can avoid it, it could render your output unreadable (and future steps' output as well).
|
**WARNING** Do **not** mask short values if you can avoid it, it could render your output unreadable (and future steps' output as well).
|
||||||
For example, if you mask the letter `l`, running `echo "Hello FOO BAR World"` will now print `He*********o FOO BAR Wor****d`
|
For example, if you mask the letter `l`, running `echo "Hello FOO BAR World"` will now print `He*********o FOO BAR Wor****d`
|
||||||
|
|
|
@ -111,9 +111,9 @@
|
||||||
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
||||||
},
|
},
|
||||||
"node_modules/@azure/core-http": {
|
"node_modules/@azure/core-http": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.1.tgz",
|
||||||
"integrity": "sha512-BxI2SlGFPPz6J1XyZNIVUf0QZLBKFX+ViFjKOkzqD18J1zOINIQ8JSBKKr+i+v8+MB6LacL6Nn/sP/TE13+s2Q==",
|
"integrity": "sha512-A3x+um3cAPgQe42Lu7Iv/x8/fNjhL/nIoEfqFxfn30EyxK6zC13n+OUxzZBRC0IzQqssqIbt4INf5YG7lYYFtw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/abort-controller": "^1.0.0",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-auth": "^1.3.0",
|
"@azure/core-auth": "^1.3.0",
|
||||||
|
@ -128,7 +128,7 @@
|
||||||
"tslib": "^2.2.0",
|
"tslib": "^2.2.0",
|
||||||
"tunnel": "^0.0.6",
|
"tunnel": "^0.0.6",
|
||||||
"uuid": "^8.3.0",
|
"uuid": "^8.3.0",
|
||||||
"xml2js": "^0.4.19"
|
"xml2js": "^0.5.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
|
@ -495,9 +495,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/xml2js": {
|
"node_modules/xml2js": {
|
||||||
"version": "0.4.23",
|
"version": "0.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
|
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
|
||||||
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
|
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"sax": ">=0.6.0",
|
"sax": ">=0.6.0",
|
||||||
"xmlbuilder": "~11.0.0"
|
"xmlbuilder": "~11.0.0"
|
||||||
|
@ -599,9 +599,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/core-http": {
|
"@azure/core-http": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.1.tgz",
|
||||||
"integrity": "sha512-BxI2SlGFPPz6J1XyZNIVUf0QZLBKFX+ViFjKOkzqD18J1zOINIQ8JSBKKr+i+v8+MB6LacL6Nn/sP/TE13+s2Q==",
|
"integrity": "sha512-A3x+um3cAPgQe42Lu7Iv/x8/fNjhL/nIoEfqFxfn30EyxK6zC13n+OUxzZBRC0IzQqssqIbt4INf5YG7lYYFtw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@azure/abort-controller": "^1.0.0",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-auth": "^1.3.0",
|
"@azure/core-auth": "^1.3.0",
|
||||||
|
@ -616,7 +616,7 @@
|
||||||
"tslib": "^2.2.0",
|
"tslib": "^2.2.0",
|
||||||
"tunnel": "^0.0.6",
|
"tunnel": "^0.0.6",
|
||||||
"uuid": "^8.3.0",
|
"uuid": "^8.3.0",
|
||||||
"xml2js": "^0.4.19"
|
"xml2js": "^0.5.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"form-data": {
|
"form-data": {
|
||||||
|
@ -917,9 +917,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xml2js": {
|
"xml2js": {
|
||||||
"version": "0.4.23",
|
"version": "0.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
|
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
|
||||||
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
|
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"sax": ">=0.6.0",
|
"sax": ">=0.6.0",
|
||||||
"xmlbuilder": "~11.0.0"
|
"xmlbuilder": "~11.0.0"
|
||||||
|
|
|
@ -161,7 +161,11 @@ describe('@actions/core', () => {
|
||||||
|
|
||||||
it('setSecret produces the correct command', () => {
|
it('setSecret produces the correct command', () => {
|
||||||
core.setSecret('secret val')
|
core.setSecret('secret val')
|
||||||
assertWriteCalls([`::add-mask::secret val${os.EOL}`])
|
core.setSecret('multi\nline\r\nsecret')
|
||||||
|
assertWriteCalls([
|
||||||
|
`::add-mask::secret val${os.EOL}`,
|
||||||
|
`::add-mask::multi%0Aline%0D%0Asecret${os.EOL}`
|
||||||
|
])
|
||||||
})
|
})
|
||||||
|
|
||||||
it('prependPath produces the correct commands and sets the env', () => {
|
it('prependPath produces the correct commands and sets the env', () => {
|
||||||
|
|
|
@ -15,18 +15,18 @@ describe('auth', () => {
|
||||||
bh
|
bh
|
||||||
])
|
])
|
||||||
const res: httpm.HttpClientResponse = await http.get(
|
const res: httpm.HttpClientResponse = await http.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
const auth: string = obj.headers.Authorization
|
const auth: string = obj.headers.authorization
|
||||||
const creds: string = Buffer.from(
|
const creds: string = Buffer.from(
|
||||||
auth.substring('Basic '.length),
|
auth.substring('Basic '.length),
|
||||||
'base64'
|
'base64'
|
||||||
).toString()
|
).toString()
|
||||||
expect(creds).toBe('johndoe:password')
|
expect(creds).toBe('johndoe:password')
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http get request with pat token auth', async () => {
|
it('does basic http get request with pat token auth', async () => {
|
||||||
|
@ -39,18 +39,18 @@ describe('auth', () => {
|
||||||
ph
|
ph
|
||||||
])
|
])
|
||||||
const res: httpm.HttpClientResponse = await http.get(
|
const res: httpm.HttpClientResponse = await http.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
const auth: string = obj.headers.Authorization
|
const auth: string = obj.headers.authorization
|
||||||
const creds: string = Buffer.from(
|
const creds: string = Buffer.from(
|
||||||
auth.substring('Basic '.length),
|
auth.substring('Basic '.length),
|
||||||
'base64'
|
'base64'
|
||||||
).toString()
|
).toString()
|
||||||
expect(creds).toBe(`PAT:${token}`)
|
expect(creds).toBe(`PAT:${token}`)
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http get request with pat token auth', async () => {
|
it('does basic http get request with pat token auth', async () => {
|
||||||
|
@ -61,13 +61,13 @@ describe('auth', () => {
|
||||||
ph
|
ph
|
||||||
])
|
])
|
||||||
const res: httpm.HttpClientResponse = await http.get(
|
const res: httpm.HttpClientResponse = await http.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
const auth: string = obj.headers.Authorization
|
const auth: string = obj.headers.authorization
|
||||||
expect(auth).toBe(`Bearer ${token}`)
|
expect(auth).toBe(`Bearer ${token}`)
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -33,44 +33,44 @@ describe('basics', () => {
|
||||||
// "args": {},
|
// "args": {},
|
||||||
// "headers": {
|
// "headers": {
|
||||||
// "Connection": "close",
|
// "Connection": "close",
|
||||||
// "Host": "httpbin.org",
|
// "Host": "postman-echo.com",
|
||||||
// "User-Agent": "typed-test-client-tests"
|
// "user-agent": "typed-test-client-tests"
|
||||||
// },
|
// },
|
||||||
// "origin": "173.95.152.44",
|
// "origin": "173.95.152.44",
|
||||||
// "url": "https://httpbin.org/get"
|
// "url": "https://postman-echo.com/get"
|
||||||
// }
|
// }
|
||||||
|
|
||||||
it('does basic http get request', async () => {
|
it('does basic http get request', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
expect(obj.headers['User-Agent']).toBeTruthy()
|
expect(obj.headers['user-agent']).toBeTruthy()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http get request with no user agent', async () => {
|
it('does basic http get request with no user agent', async () => {
|
||||||
const http: httpm.HttpClient = new httpm.HttpClient()
|
const http: httpm.HttpClient = new httpm.HttpClient()
|
||||||
const res: httpm.HttpClientResponse = await http.get(
|
const res: httpm.HttpClientResponse = await http.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
expect(obj.headers['User-Agent']).toBeFalsy()
|
expect(obj.headers['user-agent']).toBeFalsy()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic https get request', async () => {
|
it('does basic https get request', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
'https://httpbin.org/get'
|
'https://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('https://httpbin.org/get')
|
expect(obj.url).toBe('https://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http get request with default headers', async () => {
|
it('does basic http get request with default headers', async () => {
|
||||||
|
@ -85,14 +85,14 @@ describe('basics', () => {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
const res: httpm.HttpClientResponse = await http.get(
|
const res: httpm.HttpClientResponse = await http.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.headers.Accept).toBe('application/json')
|
expect(obj.headers.accept).toBe('application/json')
|
||||||
expect(obj.headers['Content-Type']).toBe('application/json')
|
expect(obj.headers['content-type']).toBe('application/json')
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http get request with merged headers', async () => {
|
it('does basic http get request with merged headers', async () => {
|
||||||
|
@ -107,7 +107,7 @@ describe('basics', () => {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
const res: httpm.HttpClientResponse = await http.get(
|
const res: httpm.HttpClientResponse = await http.get(
|
||||||
'http://httpbin.org/get',
|
'http://postman-echo.com/get',
|
||||||
{
|
{
|
||||||
'content-type': 'application/x-www-form-urlencoded'
|
'content-type': 'application/x-www-form-urlencoded'
|
||||||
}
|
}
|
||||||
|
@ -115,22 +115,22 @@ describe('basics', () => {
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.headers.Accept).toBe('application/json')
|
expect(obj.headers.accept).toBe('application/json')
|
||||||
expect(obj.headers['Content-Type']).toBe(
|
expect(obj.headers['content-type']).toBe(
|
||||||
'application/x-www-form-urlencoded'
|
'application/x-www-form-urlencoded'
|
||||||
)
|
)
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('pipes a get request', async () => {
|
it('pipes a get request', async () => {
|
||||||
return new Promise<void>(async resolve => {
|
return new Promise<void>(async resolve => {
|
||||||
const file = fs.createWriteStream(sampleFilePath)
|
const file = fs.createWriteStream(sampleFilePath)
|
||||||
;(await _http.get('https://httpbin.org/get')).message
|
;(await _http.get('https://postman-echo.com/get')).message
|
||||||
.pipe(file)
|
.pipe(file)
|
||||||
.on('close', () => {
|
.on('close', () => {
|
||||||
const body: string = fs.readFileSync(sampleFilePath).toString()
|
const body: string = fs.readFileSync(sampleFilePath).toString()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('https://httpbin.org/get')
|
expect(obj.url).toBe('https://postman-echo.com/get')
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -138,32 +138,32 @@ describe('basics', () => {
|
||||||
|
|
||||||
it('does basic get request with redirects', async () => {
|
it('does basic get request with redirects', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
`https://httpbin.org/redirect-to?url=${encodeURIComponent(
|
`https://postman-echo.com/redirect-to?url=${encodeURIComponent(
|
||||||
'https://httpbin.org/get'
|
'https://postman-echo.com/get'
|
||||||
)}`
|
)}`
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('https://httpbin.org/get')
|
expect(obj.url).toBe('https://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic get request with redirects (303)', async () => {
|
it('does basic get request with redirects (303)', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
`https://httpbin.org/redirect-to?url=${encodeURIComponent(
|
`https://postman-echo.com/redirect-to?url=${encodeURIComponent(
|
||||||
'https://httpbin.org/get'
|
'https://postman-echo.com/get'
|
||||||
)}&status_code=303`
|
)}&status_code=303`
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('https://httpbin.org/get')
|
expect(obj.url).toBe('https://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('returns 404 for not found get request on redirect', async () => {
|
it('returns 404 for not found get request on redirect', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
`https://httpbin.org/redirect-to?url=${encodeURIComponent(
|
`https://postman-echo.com/redirect-to?url=${encodeURIComponent(
|
||||||
'https://httpbin.org/status/404'
|
'https://postman-echo.com/status/404'
|
||||||
)}&status_code=303`
|
)}&status_code=303`
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(404)
|
expect(res.message.statusCode).toBe(404)
|
||||||
|
@ -177,8 +177,8 @@ describe('basics', () => {
|
||||||
{allowRedirects: false}
|
{allowRedirects: false}
|
||||||
)
|
)
|
||||||
const res: httpm.HttpClientResponse = await http.get(
|
const res: httpm.HttpClientResponse = await http.get(
|
||||||
`https://httpbin.org/redirect-to?url=${encodeURIComponent(
|
`https://postman-echo.com/redirect-to?url=${encodeURIComponent(
|
||||||
'https://httpbin.org/get'
|
'https://postman-echo.com/get'
|
||||||
)}`
|
)}`
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(302)
|
expect(res.message.statusCode).toBe(302)
|
||||||
|
@ -191,8 +191,8 @@ describe('basics', () => {
|
||||||
authorization: 'shhh'
|
authorization: 'shhh'
|
||||||
}
|
}
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
`https://httpbin.org/redirect-to?url=${encodeURIComponent(
|
`https://postman-echo.com/redirect-to?url=${encodeURIComponent(
|
||||||
'https://www.httpbin.org/get'
|
'https://www.postman-echo.com/get'
|
||||||
)}`,
|
)}`,
|
||||||
headers
|
headers
|
||||||
)
|
)
|
||||||
|
@ -201,10 +201,10 @@ describe('basics', () => {
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
// httpbin "fixes" the casing
|
// httpbin "fixes" the casing
|
||||||
expect(obj.headers['Accept']).toBe('application/json')
|
expect(obj.headers[httpm.Headers.Accept]).toBe('application/json')
|
||||||
expect(obj.headers['Authorization']).toBeUndefined()
|
expect(obj.headers['Authorization']).toBeUndefined()
|
||||||
expect(obj.headers['authorization']).toBeUndefined()
|
expect(obj.headers['authorization']).toBeUndefined()
|
||||||
expect(obj.url).toBe('https://www.httpbin.org/get')
|
expect(obj.url).toBe('https://www.postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does not pass Auth with diff hostname redirects', async () => {
|
it('does not pass Auth with diff hostname redirects', async () => {
|
||||||
|
@ -213,8 +213,8 @@ describe('basics', () => {
|
||||||
Authorization: 'shhh'
|
Authorization: 'shhh'
|
||||||
}
|
}
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
`https://httpbin.org/redirect-to?url=${encodeURIComponent(
|
`https://postman-echo.com/redirect-to?url=${encodeURIComponent(
|
||||||
'https://www.httpbin.org/get'
|
'https://www.postman-echo.com/get'
|
||||||
)}`,
|
)}`,
|
||||||
headers
|
headers
|
||||||
)
|
)
|
||||||
|
@ -223,22 +223,22 @@ describe('basics', () => {
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
// httpbin "fixes" the casing
|
// httpbin "fixes" the casing
|
||||||
expect(obj.headers['Accept']).toBe('application/json')
|
expect(obj.headers[httpm.Headers.Accept]).toBe('application/json')
|
||||||
expect(obj.headers['Authorization']).toBeUndefined()
|
expect(obj.headers['Authorization']).toBeUndefined()
|
||||||
expect(obj.headers['authorization']).toBeUndefined()
|
expect(obj.headers['authorization']).toBeUndefined()
|
||||||
expect(obj.url).toBe('https://www.httpbin.org/get')
|
expect(obj.url).toBe('https://www.postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic head request', async () => {
|
it('does basic head request', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.head(
|
const res: httpm.HttpClientResponse = await _http.head(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http delete request', async () => {
|
it('does basic http delete request', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.del(
|
const res: httpm.HttpClientResponse = await _http.del(
|
||||||
'http://httpbin.org/delete'
|
'http://postman-echo.com/delete'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
|
@ -248,32 +248,32 @@ describe('basics', () => {
|
||||||
it('does basic http post request', async () => {
|
it('does basic http post request', async () => {
|
||||||
const b = 'Hello World!'
|
const b = 'Hello World!'
|
||||||
const res: httpm.HttpClientResponse = await _http.post(
|
const res: httpm.HttpClientResponse = await _http.post(
|
||||||
'http://httpbin.org/post',
|
'http://postman-echo.com/post',
|
||||||
b
|
b
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.data).toBe(b)
|
expect(obj.data).toBe(b)
|
||||||
expect(obj.url).toBe('http://httpbin.org/post')
|
expect(obj.url).toBe('http://postman-echo.com/post')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http patch request', async () => {
|
it('does basic http patch request', async () => {
|
||||||
const b = 'Hello World!'
|
const b = 'Hello World!'
|
||||||
const res: httpm.HttpClientResponse = await _http.patch(
|
const res: httpm.HttpClientResponse = await _http.patch(
|
||||||
'http://httpbin.org/patch',
|
'http://postman-echo.com/patch',
|
||||||
b
|
b
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.data).toBe(b)
|
expect(obj.data).toBe(b)
|
||||||
expect(obj.url).toBe('http://httpbin.org/patch')
|
expect(obj.url).toBe('http://postman-echo.com/patch')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http options request', async () => {
|
it('does basic http options request', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.options(
|
const res: httpm.HttpClientResponse = await _http.options(
|
||||||
'http://httpbin.org'
|
'http://postman-echo.com'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
await res.readBody()
|
await res.readBody()
|
||||||
|
@ -281,28 +281,30 @@ describe('basics', () => {
|
||||||
|
|
||||||
it('returns 404 for not found get request', async () => {
|
it('returns 404 for not found get request', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
'http://httpbin.org/status/404'
|
'http://postman-echo.com/status/404'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(404)
|
expect(res.message.statusCode).toBe(404)
|
||||||
await res.readBody()
|
await res.readBody()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('gets a json object', async () => {
|
it('gets a json object', async () => {
|
||||||
const jsonObj = await _http.getJson<HttpBinData>('https://httpbin.org/get')
|
const jsonObj = await _http.getJson<HttpBinData>(
|
||||||
|
'https://postman-echo.com/get'
|
||||||
|
)
|
||||||
expect(jsonObj.statusCode).toBe(200)
|
expect(jsonObj.statusCode).toBe(200)
|
||||||
expect(jsonObj.result).toBeDefined()
|
expect(jsonObj.result).toBeDefined()
|
||||||
expect(jsonObj.result?.url).toBe('https://httpbin.org/get')
|
expect(jsonObj.result?.url).toBe('https://postman-echo.com/get')
|
||||||
expect(jsonObj.result?.headers['Accept']).toBe(
|
expect(jsonObj.result?.headers[httpm.Headers.Accept]).toBe(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
expect(jsonObj.headers['content-type']).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('getting a non existent json object returns null', async () => {
|
it('getting a non existent json object returns null', async () => {
|
||||||
const jsonObj = await _http.getJson<HttpBinData>(
|
const jsonObj = await _http.getJson<HttpBinData>(
|
||||||
'https://httpbin.org/status/404'
|
'https://postman-echo.com/status/404'
|
||||||
)
|
)
|
||||||
expect(jsonObj.statusCode).toBe(404)
|
expect(jsonObj.statusCode).toBe(404)
|
||||||
expect(jsonObj.result).toBeNull()
|
expect(jsonObj.result).toBeNull()
|
||||||
|
@ -311,20 +313,20 @@ describe('basics', () => {
|
||||||
it('posts a json object', async () => {
|
it('posts a json object', async () => {
|
||||||
const res = {name: 'foo'}
|
const res = {name: 'foo'}
|
||||||
const restRes = await _http.postJson<HttpBinData>(
|
const restRes = await _http.postJson<HttpBinData>(
|
||||||
'https://httpbin.org/post',
|
'https://postman-echo.com/post',
|
||||||
res
|
res
|
||||||
)
|
)
|
||||||
expect(restRes.statusCode).toBe(200)
|
expect(restRes.statusCode).toBe(200)
|
||||||
expect(restRes.result).toBeDefined()
|
expect(restRes.result).toBeDefined()
|
||||||
expect(restRes.result?.url).toBe('https://httpbin.org/post')
|
expect(restRes.result?.url).toBe('https://postman-echo.com/post')
|
||||||
expect(restRes.result?.json.name).toBe('foo')
|
expect(restRes.result?.json.name).toBe('foo')
|
||||||
expect(restRes.result?.headers['Accept']).toBe(
|
expect(restRes.result?.headers[httpm.Headers.Accept]).toBe(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
expect(restRes.result?.headers['Content-Type']).toBe(
|
expect(restRes.result?.headers['content-type']).toBe(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
expect(restRes.headers[httpm.Headers.ContentType]).toBe(
|
expect(restRes.headers['content-type']).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -332,21 +334,21 @@ describe('basics', () => {
|
||||||
it('puts a json object', async () => {
|
it('puts a json object', async () => {
|
||||||
const res = {name: 'foo'}
|
const res = {name: 'foo'}
|
||||||
const restRes = await _http.putJson<HttpBinData>(
|
const restRes = await _http.putJson<HttpBinData>(
|
||||||
'https://httpbin.org/put',
|
'https://postman-echo.com/put',
|
||||||
res
|
res
|
||||||
)
|
)
|
||||||
expect(restRes.statusCode).toBe(200)
|
expect(restRes.statusCode).toBe(200)
|
||||||
expect(restRes.result).toBeDefined()
|
expect(restRes.result).toBeDefined()
|
||||||
expect(restRes.result?.url).toBe('https://httpbin.org/put')
|
expect(restRes.result?.url).toBe('https://postman-echo.com/put')
|
||||||
expect(restRes.result?.json.name).toBe('foo')
|
expect(restRes.result?.json.name).toBe('foo')
|
||||||
|
|
||||||
expect(restRes.result?.headers['Accept']).toBe(
|
expect(restRes.result?.headers[httpm.Headers.Accept]).toBe(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
expect(restRes.result?.headers['Content-Type']).toBe(
|
expect(restRes.result?.headers['content-type']).toBe(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
expect(restRes.headers[httpm.Headers.ContentType]).toBe(
|
expect(restRes.headers['content-type']).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -354,20 +356,20 @@ describe('basics', () => {
|
||||||
it('patch a json object', async () => {
|
it('patch a json object', async () => {
|
||||||
const res = {name: 'foo'}
|
const res = {name: 'foo'}
|
||||||
const restRes = await _http.patchJson<HttpBinData>(
|
const restRes = await _http.patchJson<HttpBinData>(
|
||||||
'https://httpbin.org/patch',
|
'https://postman-echo.com/patch',
|
||||||
res
|
res
|
||||||
)
|
)
|
||||||
expect(restRes.statusCode).toBe(200)
|
expect(restRes.statusCode).toBe(200)
|
||||||
expect(restRes.result).toBeDefined()
|
expect(restRes.result).toBeDefined()
|
||||||
expect(restRes.result?.url).toBe('https://httpbin.org/patch')
|
expect(restRes.result?.url).toBe('https://postman-echo.com/patch')
|
||||||
expect(restRes.result?.json.name).toBe('foo')
|
expect(restRes.result?.json.name).toBe('foo')
|
||||||
expect(restRes.result?.headers['Accept']).toBe(
|
expect(restRes.result?.headers[httpm.Headers.Accept]).toBe(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
expect(restRes.result?.headers['Content-Type']).toBe(
|
expect(restRes.result?.headers['content-type']).toBe(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
expect(restRes.headers[httpm.Headers.ContentType]).toBe(
|
expect(restRes.headers['content-type']).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
|
@ -12,11 +12,11 @@ describe('headers', () => {
|
||||||
it('preserves existing headers on getJson', async () => {
|
it('preserves existing headers on getJson', async () => {
|
||||||
const additionalHeaders = {[httpm.Headers.Accept]: 'foo'}
|
const additionalHeaders = {[httpm.Headers.Accept]: 'foo'}
|
||||||
let jsonObj = await _http.getJson<any>(
|
let jsonObj = await _http.getJson<any>(
|
||||||
'https://httpbin.org/get',
|
'https://postman-echo.com/get',
|
||||||
additionalHeaders
|
additionalHeaders
|
||||||
)
|
)
|
||||||
expect(jsonObj.result.headers['Accept']).toBe('foo')
|
expect(jsonObj.result.headers[httpm.Headers.Accept]).toBe('foo')
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
expect(jsonObj.headers[httpm.Headers.ContentType]).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,9 +26,9 @@ describe('headers', () => {
|
||||||
[httpm.Headers.Accept]: 'baz'
|
[httpm.Headers.Accept]: 'baz'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
jsonObj = await httpWithHeaders.getJson<any>('https://httpbin.org/get')
|
jsonObj = await httpWithHeaders.getJson<any>('https://postman-echo.com/get')
|
||||||
expect(jsonObj.result.headers['Accept']).toBe('baz')
|
expect(jsonObj.result.headers[httpm.Headers.Accept]).toBe('baz')
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
expect(jsonObj.headers[httpm.Headers.ContentType]).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -36,12 +36,12 @@ describe('headers', () => {
|
||||||
it('preserves existing headers on postJson', async () => {
|
it('preserves existing headers on postJson', async () => {
|
||||||
const additionalHeaders = {[httpm.Headers.Accept]: 'foo'}
|
const additionalHeaders = {[httpm.Headers.Accept]: 'foo'}
|
||||||
let jsonObj = await _http.postJson<any>(
|
let jsonObj = await _http.postJson<any>(
|
||||||
'https://httpbin.org/post',
|
'https://postman-echo.com/post',
|
||||||
{},
|
{},
|
||||||
additionalHeaders
|
additionalHeaders
|
||||||
)
|
)
|
||||||
expect(jsonObj.result.headers['Accept']).toBe('foo')
|
expect(jsonObj.result.headers[httpm.Headers.Accept]).toBe('foo')
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
expect(jsonObj.headers[httpm.Headers.ContentType]).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -52,11 +52,11 @@ describe('headers', () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
jsonObj = await httpWithHeaders.postJson<any>(
|
jsonObj = await httpWithHeaders.postJson<any>(
|
||||||
'https://httpbin.org/post',
|
'https://postman-echo.com/post',
|
||||||
{}
|
{}
|
||||||
)
|
)
|
||||||
expect(jsonObj.result.headers['Accept']).toBe('baz')
|
expect(jsonObj.result.headers[httpm.Headers.Accept]).toBe('baz')
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
expect(jsonObj.headers[httpm.Headers.ContentType]).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -64,12 +64,12 @@ describe('headers', () => {
|
||||||
it('preserves existing headers on putJson', async () => {
|
it('preserves existing headers on putJson', async () => {
|
||||||
const additionalHeaders = {[httpm.Headers.Accept]: 'foo'}
|
const additionalHeaders = {[httpm.Headers.Accept]: 'foo'}
|
||||||
let jsonObj = await _http.putJson<any>(
|
let jsonObj = await _http.putJson<any>(
|
||||||
'https://httpbin.org/put',
|
'https://postman-echo.com/put',
|
||||||
{},
|
{},
|
||||||
additionalHeaders
|
additionalHeaders
|
||||||
)
|
)
|
||||||
expect(jsonObj.result.headers['Accept']).toBe('foo')
|
expect(jsonObj.result.headers[httpm.Headers.Accept]).toBe('foo')
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
expect(jsonObj.headers[httpm.Headers.ContentType]).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -79,9 +79,12 @@ describe('headers', () => {
|
||||||
[httpm.Headers.Accept]: 'baz'
|
[httpm.Headers.Accept]: 'baz'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
jsonObj = await httpWithHeaders.putJson<any>('https://httpbin.org/put', {})
|
jsonObj = await httpWithHeaders.putJson<any>(
|
||||||
expect(jsonObj.result.headers['Accept']).toBe('baz')
|
'https://postman-echo.com/put',
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
{}
|
||||||
|
)
|
||||||
|
expect(jsonObj.result.headers[httpm.Headers.Accept]).toBe('baz')
|
||||||
|
expect(jsonObj.headers[httpm.Headers.ContentType]).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -89,12 +92,12 @@ describe('headers', () => {
|
||||||
it('preserves existing headers on patchJson', async () => {
|
it('preserves existing headers on patchJson', async () => {
|
||||||
const additionalHeaders = {[httpm.Headers.Accept]: 'foo'}
|
const additionalHeaders = {[httpm.Headers.Accept]: 'foo'}
|
||||||
let jsonObj = await _http.patchJson<any>(
|
let jsonObj = await _http.patchJson<any>(
|
||||||
'https://httpbin.org/patch',
|
'https://postman-echo.com/patch',
|
||||||
{},
|
{},
|
||||||
additionalHeaders
|
additionalHeaders
|
||||||
)
|
)
|
||||||
expect(jsonObj.result.headers['Accept']).toBe('foo')
|
expect(jsonObj.result.headers[httpm.Headers.Accept]).toBe('foo')
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
expect(jsonObj.headers[httpm.Headers.ContentType]).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -105,11 +108,11 @@ describe('headers', () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
jsonObj = await httpWithHeaders.patchJson<any>(
|
jsonObj = await httpWithHeaders.patchJson<any>(
|
||||||
'https://httpbin.org/patch',
|
'https://postman-echo.com/patch',
|
||||||
{}
|
{}
|
||||||
)
|
)
|
||||||
expect(jsonObj.result.headers['Accept']).toBe('baz')
|
expect(jsonObj.result.headers[httpm.Headers.Accept]).toBe('baz')
|
||||||
expect(jsonObj.headers[httpm.Headers.ContentType]).toBe(
|
expect(jsonObj.headers[httpm.Headers.ContentType]).toContain(
|
||||||
httpm.MediaTypes.ApplicationJson
|
httpm.MediaTypes.ApplicationJson
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
|
@ -13,24 +13,24 @@ describe('basics', () => {
|
||||||
|
|
||||||
it('does basic http get request with keepAlive true', async () => {
|
it('does basic http get request with keepAlive true', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.get(
|
const res: httpm.HttpClientResponse = await _http.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic head request with keepAlive true', async () => {
|
it('does basic head request with keepAlive true', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.head(
|
const res: httpm.HttpClientResponse = await _http.head(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http delete request with keepAlive true', async () => {
|
it('does basic http delete request with keepAlive true', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.del(
|
const res: httpm.HttpClientResponse = await _http.del(
|
||||||
'http://httpbin.org/delete'
|
'http://postman-echo.com/delete'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
|
@ -40,32 +40,32 @@ describe('basics', () => {
|
||||||
it('does basic http post request with keepAlive true', async () => {
|
it('does basic http post request with keepAlive true', async () => {
|
||||||
const b = 'Hello World!'
|
const b = 'Hello World!'
|
||||||
const res: httpm.HttpClientResponse = await _http.post(
|
const res: httpm.HttpClientResponse = await _http.post(
|
||||||
'http://httpbin.org/post',
|
'http://postman-echo.com/post',
|
||||||
b
|
b
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.data).toBe(b)
|
expect(obj.data).toBe(b)
|
||||||
expect(obj.url).toBe('http://httpbin.org/post')
|
expect(obj.url).toBe('http://postman-echo.com/post')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http patch request with keepAlive true', async () => {
|
it('does basic http patch request with keepAlive true', async () => {
|
||||||
const b = 'Hello World!'
|
const b = 'Hello World!'
|
||||||
const res: httpm.HttpClientResponse = await _http.patch(
|
const res: httpm.HttpClientResponse = await _http.patch(
|
||||||
'http://httpbin.org/patch',
|
'http://postman-echo.com/patch',
|
||||||
b
|
b
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.data).toBe(b)
|
expect(obj.data).toBe(b)
|
||||||
expect(obj.url).toBe('http://httpbin.org/patch')
|
expect(obj.url).toBe('http://postman-echo.com/patch')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('does basic http options request with keepAlive true', async () => {
|
it('does basic http options request with keepAlive true', async () => {
|
||||||
const res: httpm.HttpClientResponse = await _http.options(
|
const res: httpm.HttpClientResponse = await _http.options(
|
||||||
'http://httpbin.org'
|
'http://postman-echo.com'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
await res.readBody()
|
await res.readBody()
|
||||||
|
|
|
@ -192,26 +192,26 @@ describe('proxy', () => {
|
||||||
process.env['http_proxy'] = _proxyUrl
|
process.env['http_proxy'] = _proxyUrl
|
||||||
const httpClient = new httpm.HttpClient()
|
const httpClient = new httpm.HttpClient()
|
||||||
const res: httpm.HttpClientResponse = await httpClient.get(
|
const res: httpm.HttpClientResponse = await httpClient.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
expect(_proxyConnects).toEqual(['httpbin.org:80'])
|
expect(_proxyConnects).toEqual(['postman-echo.com:80'])
|
||||||
})
|
})
|
||||||
|
|
||||||
it('HttoClient does basic http get request when bypass proxy', async () => {
|
it('HttpClient does basic http get request when bypass proxy', async () => {
|
||||||
process.env['http_proxy'] = _proxyUrl
|
process.env['http_proxy'] = _proxyUrl
|
||||||
process.env['no_proxy'] = 'httpbin.org'
|
process.env['no_proxy'] = 'postman-echo.com'
|
||||||
const httpClient = new httpm.HttpClient()
|
const httpClient = new httpm.HttpClient()
|
||||||
const res: httpm.HttpClientResponse = await httpClient.get(
|
const res: httpm.HttpClientResponse = await httpClient.get(
|
||||||
'http://httpbin.org/get'
|
'http://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('http://httpbin.org/get')
|
expect(obj.url).toBe('http://postman-echo.com/get')
|
||||||
expect(_proxyConnects).toHaveLength(0)
|
expect(_proxyConnects).toHaveLength(0)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -219,26 +219,26 @@ describe('proxy', () => {
|
||||||
process.env['https_proxy'] = _proxyUrl
|
process.env['https_proxy'] = _proxyUrl
|
||||||
const httpClient = new httpm.HttpClient()
|
const httpClient = new httpm.HttpClient()
|
||||||
const res: httpm.HttpClientResponse = await httpClient.get(
|
const res: httpm.HttpClientResponse = await httpClient.get(
|
||||||
'https://httpbin.org/get'
|
'https://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('https://httpbin.org/get')
|
expect(obj.url).toBe('https://postman-echo.com/get')
|
||||||
expect(_proxyConnects).toEqual(['httpbin.org:443'])
|
expect(_proxyConnects).toEqual(['postman-echo.com:443'])
|
||||||
})
|
})
|
||||||
|
|
||||||
it('HttpClient does basic https get request when bypass proxy', async () => {
|
it('HttpClient does basic https get request when bypass proxy', async () => {
|
||||||
process.env['https_proxy'] = _proxyUrl
|
process.env['https_proxy'] = _proxyUrl
|
||||||
process.env['no_proxy'] = 'httpbin.org'
|
process.env['no_proxy'] = 'postman-echo.com'
|
||||||
const httpClient = new httpm.HttpClient()
|
const httpClient = new httpm.HttpClient()
|
||||||
const res: httpm.HttpClientResponse = await httpClient.get(
|
const res: httpm.HttpClientResponse = await httpClient.get(
|
||||||
'https://httpbin.org/get'
|
'https://postman-echo.com/get'
|
||||||
)
|
)
|
||||||
expect(res.message.statusCode).toBe(200)
|
expect(res.message.statusCode).toBe(200)
|
||||||
const body: string = await res.readBody()
|
const body: string = await res.readBody()
|
||||||
const obj = JSON.parse(body)
|
const obj = JSON.parse(body)
|
||||||
expect(obj.url).toBe('https://httpbin.org/get')
|
expect(obj.url).toBe('https://postman-echo.com/get')
|
||||||
expect(_proxyConnects).toHaveLength(0)
|
expect(_proxyConnects).toHaveLength(0)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue