Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

hapi-dev-errors

Package Overview
Dependencies
Maintainers
2
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hapi-dev-errors

Return better error details and skip the look at command line to catch the issue.

  • 2.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
473
increased by0.85%
Maintainers
2
Weekly downloads
 
Created
Source

hapi-dev-errors logo

Build Status Known Vulnerabilities hapi-dev-errors Version


Development of this hapi plugin is supported by Future Studio University 🚀
Join the Future Studio University and Skyrocket in Node.js


Introduction

A hapi plugin to return an error view for web requests, providing more details of the issue. Also, provides the error stacktrace within the browser and you can skip the extra look at your command line to catch the issue.

hapi-dev-errors default error view

You can choose Youch to handle your error reporting by using the useYouch: true option. hapi-dev-errors integrates seamlessly with Youch and delegates the error handling, if activated. The view will look like this:

hapi-dev-errors Youch error view

Requirements

This plugin uses async/await which requires Node.js v8 or newer.

Installation

Add hapi-dev-errors as a dependency to your project:

npm i -S hapi-dev-errors
# you’re using NPM shortcuts to (i)nstall and (-S)ave the module as a dependency

# NPM v5 users, this way is yours
npm i hapi-dev-errors

Do you use hapi v16 (or lower)?

Use the 1.3.2 release of hapi-dev-errors with hapi v16. Later versions are only compatible with hapi v17.

npm i -S hapi-dev-errors@1.3.2
# you’re using NPM shortcuts to (i)nstall and (-S)ave the module as a dependency

# NPM v5 users, this way is yours
npm i hapi-dev-errors@1.3.2

Examples

Check out the examples directory and get an impression on how to configure hapi-dev-errors with the individual plugins options and how to customize the error view.

Usage

hapi-dev-errors is disabled by default to avoid leaking sensitive error details during production.

Enable the plugin by define a "truthy" value for the showErrors option.

The most straight forward way to register the hapi-dev-errors plugin:

await server.register({
    plugin: require('hapi-dev-errors'),
    options: {
      showErrors: process.env.NODE_ENV !== 'production'
    }
})

// went smooth like chocolate :)

Plugin Registration Options

The following plugin options allow you to customize the default behavior of hapi-dev-errors:

  • showErrors: (boolean), default: false — by default, the plugin is disabled and keeps hapi's default error handling behavior
  • useYouch: (boolean), default: false — use Youch to handle and display the error instead of using hapi-dev-error’s default handling
  • template: (string), no default — provide the template name that you want to render with h.view(template, errorData)
await server.register({
    plugin: require('hapi-dev-errors'),
    options: {
        showErrors: process.env.NODE_ENV !== 'production',
        template: 'my-error-view'
    }
})

// went smooth like chocolate :)

Provided Values for Your Custom Error View

hapi-dev-errors supports the template option while registering the plugin. Provide a template name to use your personal error template and not the default one shipped with hapi-dev-errors. In case you pass a string value for the template name, the view will be rendered with h.view(template, errorData).code(500).

Available properties to use in your custom error view:

  • title: error title like Internal Server Error
  • statusCode: HTTP response status code (always 500)
  • message: error message, like Uncaught error: h.view(...).test is not a function
  • method: HTTP request method, like GET
  • url: URL request path, like /signup
  • headers: HTTP request headers object, in key-value format
  • payload: HTTP request payload, only available for HTTP methods other than GET, in key-value format
  • stacktrace: error stacktrace

Feature Requests

Do you miss a feature? Please don’t hesitate to create an issue with a short description of your desired addition to this plugin.

Contributing

  1. Create a fork
  2. Create your feature branch: git checkout -b my-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request 🚀

License

MIT © Future Studio


futurestud.io  ·  GitHub @fs-opensource  ·  Twitter @futurestud_io

Keywords

FAQs

Package last updated on 12 Feb 2018

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc