aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gleam/base.gleam13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gleam/base.gleam b/src/gleam/base.gleam
index 8958184..0b88734 100644
--- a/src/gleam/base.gleam
+++ b/src/gleam/base.gleam
@@ -22,3 +22,16 @@ pub fn decode64(encoded: String) -> Result(BitString, Nil) {
}
erl_decode64(padded)
}
+
+pub fn url_encode64(input: BitString, padding: Bool) -> String {
+ encode64(input, padding)
+ |> string.replace("+", "-")
+ |> string.replace("/", "_")
+}
+
+pub fn url_decode64(encoded: String) -> Result(BitString, Nil) {
+ encoded
+ |> string.replace("-", "+")
+ |> string.replace("_", "/")
+ |> decode64()
+}