@ansaro/micro-raven-errors

2.0.2 • Public • Published

micro-raven-errors

Micro wrapper for capturing application errors with Sentry (aka raven)

Installation

yarn add @ansaro/micro-raven-errors

Usage

micro-raven-errors exports a single function that wraps a micro function and captures any errors with a status code of 500 or greater with Raven.

import typeof RavenOptions from "@ansaro/errors"

type MicroFunction = (req http$IncomingMessage, res http$ServerResponse) => any

reportErrors: (opts: RavenOptions, fn: MicroFunction) => MicroFunction
  • opts: an object of optional settings to send when capturing exceptions
  • fn: a function that could otherwise run standalone inside micro. This is your application code.

micro-raven-errors also expect you to provide a Data Source Name, which is a URL where Sentry listens to collect errors from your application. You'll need to set process.env.SENTRY_DSN to be this URL.

Unexpected application errors and HTTP errors with a status code of 500 or higher will be reported to Sentry. Expected HTTP errors like 404s will not be reported.

const micro = require("micro");
const reportErrors = require("@ansaro/micro-raven-errors");

const testServer = async (req, res) => {
  const body = await micro.json(req);

  if (!body.name) {
    throw micro.createError(400); // not reported to Sentry
  }

  if (body.massiveError) {
    throw micro.createError(500, "This is a massive error"); // reported to Sentry
  }

  return { success: true };
};

module.exports = reportErrors({}, testServer);

Readme

Keywords

none

Package Sidebar

Install

npm i @ansaro/micro-raven-errors

Weekly Downloads

7

Version

2.0.2

License

ISC

Unpacked Size

5.63 kB

Total Files

4

Last publish

Collaborators

  • bgoldberg15
  • maxbeatty