Skip to content

Commit 40d6033

Browse files
committed
sentry: Remove cookies from any events
We don't want to leak e.g. the `cargo_session` cookie values to Sentry. They don't help in debugging, so there is no need to share them with Sentry.
1 parent c635ea4 commit 40d6033

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Diff for: src/sentry/mod.rs

+12
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use crate::config::SentryConfig;
2+
use sentry::protocol::Event;
23
use sentry::{ClientInitGuard, ClientOptions, TransactionContext};
34
use std::sync::Arc;
45

@@ -51,11 +52,22 @@ pub fn init() -> Option<ClientInitGuard> {
5152
config.traces_sample_rate
5253
};
5354

55+
let before_send = |mut event: Event<'_>| {
56+
// Remove cookies from the request to avoid sending sensitive
57+
// information like the `cargo_session`.
58+
if let Some(request) = &mut event.request {
59+
request.cookies.take();
60+
}
61+
62+
Some(event)
63+
};
64+
5465
let opts = ClientOptions {
5566
auto_session_tracking: true,
5667
dsn: config.dsn,
5768
environment: config.environment.map(Into::into),
5869
release: config.release.map(Into::into),
70+
before_send: Some(Arc::new(before_send)),
5971
session_mode: sentry::SessionMode::Request,
6072
traces_sampler: Some(Arc::new(traces_sampler)),
6173
..Default::default()

0 commit comments

Comments
 (0)