aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/web.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/util/web.rs b/src/util/web.rs
index 77e20a3..bfa7003 100644
--- a/src/util/web.rs
+++ b/src/util/web.rs
@@ -1,5 +1,10 @@
use anyhow::{Context, Error, Result};
use reqwest::{get, Url};
+use urlparse::quote_plus as urlparse_quote_plus;
+
+pub(crate) fn quote_plus(text: &str) -> Result<String, Error> {
+ Ok(urlparse_quote_plus(text, b"")?)
+}
// TODO: Either catinator should have a URL shortening utility module,
// or we should start our own service
@@ -18,3 +23,27 @@ pub(crate) async fn shorten_url(url: &str) -> Result<String, Error> {
Ok(short_url)
}
+
+#[cfg(test)]
+mod tests {
+ use super::{quote_plus};
+ use anyhow::{Error, Result};
+
+ #[test]
+ fn test_quote_plus_1() -> Result<(), Error> {
+ assert_eq!(quote_plus("5/10")?, "5%2F10");
+ Ok(())
+ }
+
+ #[test]
+ fn test_quote_plus_2() -> Result<(), Error> {
+ assert_eq!(quote_plus("1 * 2")?, "1+%2A+2");
+ Ok(())
+ }
+
+ #[test]
+ fn test_quote_plus_3() -> Result<(), Error> {
+ assert_eq!(quote_plus(&quote_plus("1 * 2")?)?, "1%2B%252A%2B2");
+ Ok(())
+ }
+}
or secrets to be managed by secrets moduleMax Audron-1/+8 2024-08-12add pastor deploymentMax Audron-1/+296 2024-08-12remove psql ensurePermissionsMax Audron-5/+5 2024-08-12disable k8sMax Audron-5/+0 2024-08-12add catinatorMax Audron-7/+299 2024-08-12update flaresolverrMax Audron-1/+1 2024-08-12update powerdns configMax Audron-5/+5 2024-08-12update garage config to 1.0Max Audron-2/+3 2024-08-12update to nixos 24.05Max Audron-27/+21 2024-07-03add acc serverMax Audron-2/+23 2024-03-29add rtmp and laplaceMax Audron-1/+200 2024-03-29add hydra secretsMax Audron-0/+0 2024-03-29add hydra secretsMax Audron-5/+35 2024-03-19extend postgresql hpa for podman ipsMax Audron-1/+1 2024-03-02update authentikMax Audron-8/+6 2024-03-02setup gitea oidcMax Audron-5/+18 2024-02-28add giteaMax Audron-2/+39 2024-02-28remove gitlab moduleMax Audron-25/+0 2024-02-26update d3fus phone wg pubkeyMarcin Maselko-1/+1 2024-02-26added d3fus nass to wg configMarcin Maselko-0/+9 2024-02-21set minecraft memoryMax Audron-0/+1 2024-02-21add minecraft server and move palworld to games moduleMax Audron-3/+56 2024-02-21set network manually for ns serversMax Audron-0/+51 2024-02-20update nixpkgs-unstableMax Audron-3/+3 2024-02-19update d3fus fritzbox wg portMarcin Maselko-1/+1 2024-02-19add xonotic serverMax Audron-1/+10