Skip to content

Commit 593e18d

Browse files
committed
middleware/log: Replace IP address in user with ID from signed cookie
1 parent 5e7b95d commit 593e18d

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

src/middleware/log_request.rs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
//! information that we care about like User-Agent
33
44
use super::prelude::*;
5+
use crate::middleware::current_user::TrustedUserId;
56
use crate::util::request_header;
67
use conduit::{header, Host, RequestExt, Scheme, StatusCode};
7-
use sentry::protocol::IpAddress;
88
use sentry::Level;
99
use std::fmt::{self, Display, Formatter};
10-
use std::net::IpAddr;
1110
use std::time::Instant;
1211

1312
const SLOW_REQUEST_THRESHOLD_MS: u64 = 1000;
@@ -96,16 +95,13 @@ fn report_to_sentry(req: &dyn RequestExt, res: &AfterResult, response_time: u64)
9695
let url = format!("{}://{}{}", scheme, host, path).parse().ok();
9796

9897
{
99-
let ip_addr = match req.headers().get("x-real-ip") {
100-
Some(value) => value
101-
.to_str()
102-
.ok()
103-
.and_then(|str| str.parse::<IpAddr>().ok()),
104-
None => Some(req.remote_addr().ip()),
105-
};
98+
let id = req
99+
.extensions()
100+
.find::<TrustedUserId>()
101+
.map(|x| x.0.to_string());
106102

107103
let user = sentry::User {
108-
ip_address: ip_addr.map(IpAddress::Exact),
104+
id,
109105
..Default::default()
110106
};
111107

0 commit comments

Comments
 (0)