@hono/sentry
Sentry Middleware for Hono
Last updated 10 months ago by yusukebe .
MIT · Repository · Original npm · Tarball · package.json
$ cnpm install @hono/sentry 
SYNC missed versions from official npm registry.

Sentry Middleware for Hono

codecov

This middleware integrates Hono with Sentry. It captures exceptions and sends them to the specified Sentry data source name (DSN) using toucan-js.

Installation

npm i hono @hono/sentry

Configuration

If you're running your application on Cloudflare Workers, set a binding value named SENTRY_DSN, which will be used as the DSN. For instance, during development, you can specify this in .dev.vars:

SENTRY_DSN=<Your DSN>

On other platforms, you can directly provide the DSN by passing it as an option:

sentry({
  dsn: `<Your DSN>`,
})

How to Use

import { Hono } from 'hono'
import { sentry } from '@hono/sentry'

const app = new Hono()

app.use('*', sentry())
app.get('/', (c) => c.text('foo'))

export default app

Options:

import type { Options as ToucanOptions } from 'toucan-js'
type Options = Omit<ToucanOptions, 'request' | 'context'>

For Deno Users

import { serve } from 'https://deno.land/std/http/server.ts'
import { sentry } from 'npm:@hono/sentry'
import { Hono } from 'https://deno.land/x/hono/mod.ts'

const app = new Hono()

app.use('*', sentry({ dsn: 'https://xxxxxx@xxx.ingest.sentry.io/xxxxxx' }))
app.get('/', (c) => c.text('foo'))

serve(app.fetch)

Accessing an instance of Sentry

You can retrieve an instance of Sentry using c.get('sentry').

app.onError((e, c) => {
  c.get('sentry').setContext('character', {
    name: 'Mighty Fighter',
    age: 19,
    attack_type: 'melee',
  })
  c.get('sentry').captureException(e)
  return c.text('Internal Server Error', 500)
})

Authors

License

MIT

Current Tags

  • 1.2.2                                ...           latest (10 months ago)

11 Versions

  • 1.2.2                                ...           10 months ago
  • 1.2.1                                ...           a year ago
  • 1.2.0                                ...           2 years ago
  • 1.1.0                                ...           2 years ago
  • 1.0.1                                ...           2 years ago
  • 1.0.0                                ...           3 years ago
  • 0.2.2                                ...           3 years ago
  • 0.2.1                                ...           3 years ago
  • 0.2.0                                ...           3 years ago
  • 0.1.0                                ...           3 years ago
  • 0.0.6                                ...           3 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (5)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |