8.0.0 • Published 6 years ago

appa-api v8.0.0

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

appa-api

Quickly create simple HTTP services.

npm travis standard conduct

appa

Install

Make sure you've got node installed, then make appa a project dependency:

npm install --save appa

Usage

var http = require('http')
var app = require('appa-api')()
var send = require('appa-api/send')
var log = app.log

app.on('/', function (req, res, context) {
  send(res, { message: 'oh hey friends' })
})

http.createServer(app).listen(3000, function () {
  log.info('server started at http://127.0.0.1:3000')
})

Error handling

Any uncaught errors that occur in a request handler will be caught and a 500 Internal server error response will be sent.

Send error responses using the appa-api/error module:

var error = require('appa-api/error')

module.exports = function (req, res, ctx) {
  return error(res, 404, 'Not found')
}

Sending an error response does not automatically log the error, so to add that you can do something like:

var error = require('appa-api/error')
var log = require('appa-api/log')()

module.exports = function (req, res, ctx) {
  log.error(req.method, '500', errorStack)
  return error(res, 500, 'Internal server error')
}

Logging

appa uses pino for logging. Pass options to pino with options.log: appa({ log: pinoOptions }).

See example pino usage and all pino options.

Or disable logging completely by setting options.log to false: appa({ log: false }).

Documentation

Examples

Contributing

Contributions are welcome! Please read the contributing guidelines first.

Conduct

It is important that this project contributes to a friendly, safe, and welcoming environment for all. Read this project's code of conduct

Changelog

Read about the changes to this project in CHANGELOG.md. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Contact

License

ISC