X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fplugs%2Frate_limiter.ex;h=3c82654b4eb264859c5675d20007a8426a6c9330;hb=de64c6c54aaacc4123031f2e3d5bfb9fc9c517fe;hp=034a5bbe242731ecd47696feccc52af9debdd16a;hpb=5e128a6be30563adc3b8a938aa68d18ac04cdfa0;p=akkoma
diff --git a/lib/pleroma/web/plugs/rate_limiter.ex b/lib/pleroma/web/plugs/rate_limiter.ex
index 034a5bbe2..3c82654b4 100644
--- a/lib/pleroma/web/plugs/rate_limiter.ex
+++ b/lib/pleroma/web/plugs/rate_limiter.ex
@@ -1,5 +1,5 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
+# Copyright © 2017-2021 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.Plugs.RateLimiter do
@@ -197,12 +197,18 @@ defmodule Pleroma.Web.Plugs.RateLimiter do
})
end
- defp ip(%{remote_ip: remote_ip}) do
+ defp ip(%{remote_ip: remote_ip}) when is_binary(remote_ip) do
+ remote_ip
+ end
+
+ defp ip(%{remote_ip: remote_ip}) when is_tuple(remote_ip) do
remote_ip
|> Tuple.to_list()
|> Enum.join(".")
end
+ defp ip(_), do: nil
+
defp render_throttled_error(conn) do
conn
|> render_error(:too_many_requests, "Throttled")