aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhakabahitoyo <hakabahitoyo@example.com>2018-07-14 10:04:37 +0900
committerhakabahitoyo <hakabahitoyo@example.com>2018-07-14 10:04:37 +0900
commiteb0afda3a72aa08a991e25b05c98ae798655f413 (patch)
tree5d9f227a119dfbebed2cad81751b90935a885372
parent3812b627ca546287e20a55cd49544a36eefffa0b (diff)
downloadpleroma-eb0afda3a72aa08a991e25b05c98ae798655f413.tar.gz
http access to third party user recommendation
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex30
1 files changed, 14 insertions, 16 deletions
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index fb334352d..4f48a141b 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -11,6 +11,8 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
import Ecto.Query
require Logger
+ @httpoison Application.get_env(:pleroma, :httpoison)
+
action_fallback(:errors)
def create_app(conn, params) do
@@ -1072,21 +1074,17 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
end
def suggestions(%{assigns: %{user: user}} = conn, _) do
- res = [
- %{
- username: "vaginaplant",
- acct: "vaginaplant@3.distsn.org",
- display_name: "Hakaba Hitoyo",
- note: "Recommendation Fairness Warrior",
- avatar: "https://3.distsn.org/media/1c0cbe9d-8b87-496f-b964-1af8116b8f67/D38B0A8B021DC5565D06CF40EBB744E4B7CF8F7F16347094F9CD469348DCC267.jpeg",
- avatar_static: "https://3.distsn.org/media/1c0cbe9d-8b87-496f-b964-1af8116b8f67/D38B0A8B021DC5565D06CF40EBB744E4B7CF8F7F16347094F9CD469348DCC267.jpeg"
- },
- %{
- username: user.nickname,
- acct: user.nickname <> "@" <> (String.replace Web.base_url(), "https://", "")
- }
- ]
- conn
- |> json(res)
+ host = String.replace Web.base_url(), "https://", ""
+ user = user.nickname
+ api = "http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-filtered-api.cgi?{{host}}+{{user}}"
+ url = String.replace(api, "{{host}}", host) |> String.replace("{{user}}", user)
+ with {:ok, %{status_code: 200, body: body}} <-
+ @httpoison.get(url),
+ {:ok, data} <- Jason.decode(body) do
+ conn
+ |> json(data)
+ else
+ e -> Logger.error("Could not decode user at fetch #{url}, #{inspect(e)}")
+ end
end
end