1.1 KiB
1.1 KiB
Extra
There are some niche features of @root/request which are beyond the request.js compatibility.
async/await & Promises
The differences in async support are explained in README.md, up near the top.
If you're familiar with Promises (and async/await), then it's pretty self-explanatory.
ok
Just like WHATWG fetch
, we have resp.ok
:
let resp = await request({
url: 'https://example.com'
}).then(mustOk);
function mustOk(resp) {
if (!resp.ok) {
// handle error
throw new Error('BAD RESPONSE');
}
return resp;
}
streams
The differences in stream support are explained in README.md, up near the top.
userAgent
There's a default User-Agent string describing the version of @root/request, node.js, and the OS.
Add to the default User-Agent
request({
// ...
userAgent: 'my-package/1.0' // add to agent
});
Replace the default User-Agent
request({
// ...
headers: { 'User-Agent': 'replace/0.0' }
});
Disable the default User-Agent:
request({
// ...
headers: { 'User-Agent': false }
});