appa

6.1.3 • Public • Published

appa

Quickly create simple JSON API 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')()
var send = require('appa/send')
var log = app.log
 
app.on('/', function (req, res, context) {
  send({ message: 'oh hey friends' }).pipe(res)
})
 
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/error module:

var error = require('appa/error')
 
module.exports = function (req, res, ctx) {
  return error(404, 'Not found').pipe(res)
}

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

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

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

Readme

Keywords

none

Package Sidebar

Install

npm i appa

Weekly Downloads

17

Version

6.1.3

License

ISC

Last publish

Collaborators

  • sethvincent