logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

mime.ex (566B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.MIME do
  5. use Ecto.Type
  6. require Pleroma.Constants
  7. def type, do: :string
  8. def cast(mime) when is_binary(mime) do
  9. if mime =~ Pleroma.Constants.mime_regex() do
  10. {:ok, mime}
  11. else
  12. {:ok, "application/octet-stream"}
  13. end
  14. end
  15. def cast(_), do: :error
  16. def dump(data), do: {:ok, data}
  17. def load(data), do: {:ok, data}
  18. end