trivial-api
v0.0.18
Published
An API handler module with trivial capabilities.
Maintainers
Readme
Trivial API interaction
WARNING alpha version. Do not use!
Very thin utility wrapper around fetch(). Returns Promises.
Current limitations
- Only works with APIs that expect and return JSON.
- Only handles authentication by bearer token, which is sent in headers.
Usage
Typical example:
api.write({ url:url, data:data })
.then(
(response) => { ...success... },
(response) => { ...failure...
throw new api.error("That didn't work!")
}).then((x) => {
...do something with x...
}).catch((e) => {
if (e.isTrivialApiError) {
...this is something you threw above using api.error...
} else {
...some other error...
}
})By default, api.error() automatically logs to console.error(). Silence this by calling it with an object: { message: "...", logging: false }
This object expects keys message and, optionally, logging. However, any other key:value pairs can be added too. These can be accessed like so:
let e = new api.error({message: "Some message", someKey: "some value"})
console.log(e.get.someKey)Certificate errors
If you encounter certificate errors when using Node, you can try setting the environment variable NODE_EXTRA_CA_CERTS appropriately. This ensures Node is aware of certificates you may be using in your local web-server. For example:
sudo NODE_EXTRA_CA_CERTS=/etc/letsencrypt/live/path-to-your-certificates/chain.pem node your-script.jsThis great tidbit comes courtesy of https://www.npmjs.com/package/ssl-root-cas
