TwitterAPI: Return proper error.
authorRoger Braun <roger@rogerbraun.net>
Sun, 17 Sep 2017 12:37:00 +0000 (14:37 +0200)
committerRoger Braun <roger@rogerbraun.net>
Sun, 17 Sep 2017 12:37:00 +0000 (14:37 +0200)
Fixes #32.

lib/pleroma/web/twitter_api/twitter_api_controller.ex
lib/pleroma/web/web_finger/web_finger.ex

index 434be41036624490746cb459ac941310afffe09c..6154d5ad76b220ed1ca40b922bd19c9224389a0d 100644 (file)
@@ -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
 
index 5a8cfbe993e95d043f21cbb17040551dcb97df60..7cbafe11ff72201746dc866f6e54753ebbcd8f21 100644 (file)
@@ -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}