diff options
| author | Melonai <einebeere@gmail.com> | 2021-01-14 22:52:36 +0100 |
|---|---|---|
| committer | Melonai <einebeere@gmail.com> | 2021-01-14 22:52:36 +0100 |
| commit | c26070ef2d25eb8192843aa417f2ebe3eb008aba (patch) | |
| tree | 6429d2e98541f8c8685c31467ce821d6fad15206 /server/src/parsing.rs | |
| parent | 778c01dbe071a862a38800c706c0c706f081b6cb (diff) | |
| download | shorest-c26070ef2d25eb8192843aa417f2ebe3eb008aba.tar.zst shorest-c26070ef2d25eb8192843aa417f2ebe3eb008aba.zip | |
Refactor server
Diffstat (limited to 'server/src/parsing.rs')
| -rw-r--r-- | server/src/parsing.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/server/src/parsing.rs b/server/src/parsing.rs new file mode 100644 index 0000000..40a855a --- /dev/null +++ b/server/src/parsing.rs @@ -0,0 +1,17 @@ +use base64::{encode_config, URL_SAFE_NO_PAD}; +use crc32fast::Hasher; +use url::{ParseError, Url}; + +pub fn make_url(given_url: &str) -> Result<String, ParseError> { + let parsed_url = Url::parse(given_url)?; + Ok(parsed_url.into_string()) +} + +pub fn get_hash_from_string(to_hash: &String) -> String { + let mut hasher = Hasher::new(); + hasher.update(to_hash.as_bytes()); + encode_config(hasher.finalize().to_ne_bytes(), URL_SAFE_NO_PAD) + .chars() + .take(3) + .collect() +} |
