tiny-json-http
Minimalist HTTP
client for GET
, POST
, PUT
, PATCH
and DELETE
JSON
payloads
- Zero dependencies: perfect for AWS Lambda
- Sensible default: assumes buffered JSON responses
- System symmetry: Node style errback API, or Promises for use with Async/Await
npm i tiny-json-http --save
API
Read methods
tiny.get(options[, callback])
tiny.head(options[, callback])
tiny.options(options[, callback])
Write methods
tiny.post(options[, callback])
tiny.put(options[, callback])
tiny.patch(options[, callback])
tiny.del(options[, callback)]
*callback is optional, tiny methods will return a promise if no callback is provided
Options
url
requireddata
form vars fortiny.post
,tiny.put
,tiny.patch
, andtiny.delete
otherwise querystring vars fortiny.get
headers
key/value map used for headers (including support for uploading files withmultipart/form-data
)buffer
if set totrue
the response body is returned as a buffer
Callback values
err
a real javascriptError
if there was onedata
an object withheaders
andbody
keys
Promises
- if no
callback
is provided to the tiny-json-http methods, a promise is returned - perfect for use of async/await
Examples
With Async / Await
var tiny = require('tiny-json-http')
var url = 'http://www.randomkittengenerator.com'
;(async function _iife() {
try {
console.log(await tiny.get({url}))
} catch (err) {
console.log('ruh roh!', err)
}
})();
With Callback
var tiny = require('tiny-json-http')
var url = 'http://www.randomkittengenerator.com'
tiny.get({url}, function _get(err, result) {
if (err) {
console.log('ruh roh!', err)
}
else {
console.log(result)
}
})
Check out the tests for more examples! 💟