Socket
Socket
Sign inDemoInstall

appa

Package Overview
Dependencies
71
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    appa

Quickly create simple JSON API services.


Version published
Weekly downloads
13
increased by30%
Maintainers
1
Install size
2.27 MB
Created
Weekly downloads
 

Changelog

Source

6.1.3 - 2017-07-02

Fixed

  • make it possible to skip body parsing with { parse: false } option

Readme

Source

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

FAQs

Last updated on 02 Jul 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc