JSPM

  • Created
  • Published
  • Downloads 98964
  • Score
    100M100P100Q165859F
  • License MIT

Cloudflare Workers client for Sentry

Package Exports

  • toucan-js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (toucan-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Logo

npm version npm version npm version

toucan-js

Toucan is reliable Sentry client for Cloudflare Workers. Follows Sentry unified API guidelines.

Usage

npm install --save toucan-js

worker.ts

import Toucan from "toucan-js";

addEventListener("fetch", event => {
  const sentry = new Toucan({
    dsn: "dsn...",
    event,
    whitelistedHeaders: ["user-agent"],
    whitelistedSearchParams: /(.*)/,
  });

  sentry.setUser({ id: "1234" });

  event.respondWith(doStuff(event, sentry));
});

async function doStuff(event: FetchEvent, sentry: Toucan) {
  try {
    sentry.addBreadcrumb({
      message: "About to do some I/O...",
      category: "log",
    });
    // do some I/O
    return new Response("OK", {
      status: 200,
    });
  } catch (err) {
    sentry.captureException(err);
    return new Response("", {
      status: 200,
      statusText: "OK",
    });
  }
}

Features

  • addBreadcumb: Records a new breadcrumb which will be attached to future events.
  • captureException: Captures an exception event and sends it to Sentry.
  • captureMessage: Captures a message event and sends it to Sentry.
  • setRequestBody: Records incoming request's body which will be attached to future events.
  • setTag: Set key:value that will be sent as tags data with the event.
  • setTags: Set an object that will be merged sent as tags data with the event.
  • setUser: Updates user context information for future events.

Options

Option Type Description
dsn *string Sentry Data Source Name.
event *FetchEvent Workers fetch event. Toucan needs this to be able to call waitUntil.
environment string Your application's environment (production/staging/...).
release string Release tag.
pkg object Essentially your package.json. Toucan will use it to read project name, version, dependencies, and devDependencies.
whitelistedHeaders string[] | RegExp Array of whitelisted headers, or a regular expression used to whitelist headers of incoming request. If not provided, headers will not be logged.
whitelistedCookies string[] | RegExp Array of whitelisted cookies, or a regular expression used to whitelist cookies of incoming request. If not provided, cookies will not be logged.
whitelistedSearchParams string[] | RegExp Array of whitelisted search params, or a regular expression used to whitelist search params of incoming request. If not provided, search params will not be logged.
beforeSend (event: Event) => Event This function is applied to all events before sending to Sentry. If provided, all whitelists are ignored.