diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam/base.gleam | 13 |
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() +} |