Current section

Files

Jump to
cryppo_ex lib cryppo base64.ex
Raw

lib/cryppo/base64.ex

defmodule Cryppo.Base64 do
@moduledoc false
@spec decode_base64(binary) :: {:error, :invalid_base64} | {:ok, String.t()}
def decode_base64(base64) do
case Base.url_decode64(base64) do
:error ->
case Base.decode64(base64) do
{:ok, _bin} -> {:error, "only URL-safe base64 is supported"}
_ -> {:error, :invalid_base64}
end
{:ok, decoded} ->
{:ok, decoded}
end
end
end