Skip to main content

tuwunel_admin/query/raw/
get.rs

1use base64::prelude::*;
2use tokio::time::Instant;
3use tuwunel_core::Result;
4
5use super::encode;
6use crate::admin_command;
7
8#[admin_command]
9pub(super) async fn raw_get(&self, map: String, key: String, base64: bool) -> Result {
10	let map = self.services.db.get(&map)?;
11	let timer = Instant::now();
12	let handle = map.get(&key).await?;
13
14	let query_time = timer.elapsed();
15
16	let result = if base64 {
17		BASE64_STANDARD.encode(&handle)
18	} else {
19		encode(&handle)
20	};
21
22	write!(self, "Query completed in {query_time:?}:\n\n```rs\n{result:?}\n```").await
23}