A module for modern HTTP/HTTPS requests with support for form data, file uploads, JSON, binary data, streams, and more.
dist | ||
test | ||
ts | ||
.gitignore | ||
.gitlab-ci.yml | ||
package.json | ||
README.md | ||
tslint.json | ||
yarn.lock |
smartrequest
dropin replacement for request
Availabililty
Status for master
Usage
Use TypeScript for best in class instellisense.
note: smartrequest uses the native node request module under the hood (not the one from npm)
import * as smartrequest from 'smartrequest'
// simple post
let options: smartrequest.ISmartRequestOptions = { // typed options
headers: {
"Content-Type": "application/json"
"Authorization": "Bearer token"
},
requestBody: {
key1: 'value1',
key2: 3
}
}
smartrequest.post('https://example.com', options).then(res => {
console.log(res.status)
console.log(res.body) // if json, body will be parsed automatically
}).catch(err => {
console.log(err)
})
// also available
smartrequest.get(...)
smartrequest.put(...)
smartrequest.del(...)
// streaming
smartrequest.get('https://example.com/bigfile.mp4', optionsArg, true).then(res => { // third arg = true signals streaming
console.log(res.status)
res.on('data', data => {
// do something with the data chunk here
}
res.on('end', () => {
// do something when things have ended
})
})