logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: d009a79df55c15d247b58a7d8877ef0031959371
parent: ae38b72e24107a15d7afdc5bdd1f9e389c50bbc8
Author: Roger Braun <roger@rogerbraun.net>
Date:   Sun, 17 Sep 2017 14:37:00 +0200

TwitterAPI: Return proper error.

Fixes #32.

Diffstat:

Mlib/pleroma/web/twitter_api/twitter_api_controller.ex5+++++
Mlib/pleroma/web/web_finger/web_finger.ex11++++-------
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 @@ -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 @@ -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}