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};