From d009a79df55c15d247b58a7d8877ef0031959371 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Sun, 17 Sep 2017 14:37:00 +0200 Subject: [PATCH] TwitterAPI: Return proper error. Fixes #32. --- lib/pleroma/web/twitter_api/twitter_api_controller.ex | 5 +++++ lib/pleroma/web/web_finger/web_finger.ex | 11 ++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index 434be4103..6154d5ad7 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -211,6 +211,11 @@ defmodule Pleroma.Web.TwitterAPI.Controller do response <- Poison.encode!(user_map) do conn |> json_reply(200, response) + else + _e -> + conn + |> put_status(404) + |> json(%{error: "Can't find user"}) end end diff --git a/lib/pleroma/web/web_finger/web_finger.ex b/lib/pleroma/web/web_finger/web_finger.ex index 5a8cfbe99..7cbafe11f 100644 --- a/lib/pleroma/web/web_finger/web_finger.ex +++ b/lib/pleroma/web/web_finger/web_finger.ex @@ -105,13 +105,10 @@ defmodule Pleroma.Web.WebFinger do URI.parse(account).host end - {:ok, template} = find_lrdd_template(domain) - - address = String.replace(template, "{uri}", URI.encode(account)) - - response = @httpoison.get(address, ["Accept": "application/xrd+xml"]) - - with {:ok, %{status_code: status_code, body: body}} when status_code in 200..299 <- response, + with {:ok, template} <- find_lrdd_template(domain), + address <- String.replace(template, "{uri}", URI.encode(account)), + response <- @httpoison.get(address, ["Accept": "application/xrd+xml"]), + {:ok, %{status_code: status_code, body: body}} when status_code in 200..299 <- response, doc when doc != :error<- XML.parse_document(body), {:ok, data} <- webfinger_from_xml(doc) do {:ok, data}