aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'fedi/live_federation/utils.rs')
-rw-r--r--fedi/live_federation/utils.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/fedi/live_federation/utils.rs b/fedi/live_federation/utils.rs
new file mode 100644
index 0000000..0b2b098
--- /dev/null
+++ b/fedi/live_federation/utils.rs
@@ -0,0 +1,13 @@
1use rand::{distributions::Alphanumeric, thread_rng, Rng};
2use url::{ParseError, Url};
3
4/// Just generate random url as object id. In a real project, you probably want to use
5/// an url which contains the database id for easy retrieval (or store the random id in db).
6pub fn generate_object_id(domain: &str) -> Result<Url, ParseError> {
7 let id: String = thread_rng()
8 .sample_iter(&Alphanumeric)
9 .take(7)
10 .map(char::from)
11 .collect();
12 Url::parse(&format!("https://{}/objects/{}", domain, id))
13}
Powered by cgit v1.2.3 (git 2.41.0)