MCPcopy Create free account
hub / github.com/ZingerLittleBee/ServerBee / decode_cursor

Function decode_cursor

crates/server/src/router/api/security.rs:101–114  ·  view source on GitHub ↗
(c: &str)

Source from the content-addressed store, hash-verified

99}
100
101fn decode_cursor(c: &str) -> Result<(DateTime<Utc>, String), AppError> {
102 let raw = base64::engine::general_purpose::URL_SAFE_NO_PAD
103 .decode(c.as_bytes())
104 .map_err(|_| AppError::BadRequest("invalid cursor".to_string()))?;
105 let s =
106 String::from_utf8(raw).map_err(|_| AppError::BadRequest("invalid cursor".to_string()))?;
107 let (ts, id) = s
108 .split_once('|')
109 .ok_or_else(|| AppError::BadRequest("invalid cursor".to_string()))?;
110 let parsed = DateTime::parse_from_rfc3339(ts)
111 .map_err(|_| AppError::BadRequest("invalid cursor timestamp".to_string()))?
112 .with_timezone(&Utc);
113 Ok((parsed, id.to_string()))
114}
115
116#[utoipa::path(
117 get,

Callers 4

list_eventsFunction · 0.85
cursor_round_tripsFunction · 0.85
invalid_cursor_rejectedFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected