worker_cf_sentry/lib.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
//! Crate for sending errors or events to Sentry.
//!
//! Assuming you have your Sentry creds, configure your worker:
//!
//! Configure wrangler.toml:
//! ```toml
//! [vars]
//! SENTRY_DSN = ...
//! SENTRY_ENVIRONMENT = ...
//! SENTRY_CF_ACCESS_CLIENT_ID = ...
//! ```
//!
//! Add Cloudflare Access' secret token:
//! ```ignore
//! wrangler secret put SENTRY_CF_ACCESS_CLIENT_SECRET
//! ```
//!
//! Add the npm/yarn dependency:
//! ```ignore
//! yarn add toucan-js
//! ```
//!
//! Finally, use the Sentry client in worker using workers-rs:
//! ```rust
//! #[event(fetch)]
//! pub async fn main(req: Request, env: Env, _ctx: worker::Context) -> Result<Response> {
//! let sentry_config = sentry::SentryConfig::from_env(&env)?;
//! let sentry = sentry::SentryClient::new(sentry_config, &req, &ctx);
//!
//! sentry.set_tag("colo", "LHR");
//! sentry.capture_message("this is a message");
//! sentry.capture_exception(&Err("this is a error"));
//!
//! todo!();
//! }
//! ```
//!
mod client;
mod toucan_sys;
pub use client::{SentryClient, SentryConfig};