From eb0afda3a72aa08a991e25b05c98ae798655f413 Mon Sep 17 00:00:00 2001 From: hakabahitoyo Date: Sat, 14 Jul 2018 10:04:37 +0900 Subject: [PATCH] http access to third party user recommendation --- .../mastodon_api/mastodon_api_controller.ex | 30 +++++++++---------- 1 file 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