Skip to content

Commit 47e46ac

Browse files
committed
Display a better error in /.well-known/matrix/client returned invalid JSON
This makes it easier for users to understand what is wrong (eg. progval#82)
1 parent 1f155e3 commit 47e46ac

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

lib/matrix_client/client.ex

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -497,10 +497,19 @@ defmodule M51.MatrixClient.Client do
497497

498498
case httpoison.get(wellknown_url) do
499499
{:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
500-
data = Jason.decode!(body)
501-
base_url = data["m.homeserver"]["base_url"]
502-
Logger.debug("Well-known request for #{wellknown_url} yielded #{base_url}")
503-
base_url
500+
case Jason.decode(body) do
501+
{:ok, data} ->
502+
base_url = data["m.homeserver"]["base_url"]
503+
Logger.debug("Well-known request for #{wellknown_url} yielded #{base_url}")
504+
base_url
505+
506+
{:err, res} ->
507+
Logger.error(
508+
"Well-known request for #{wellknown_url} returned invalid JSON (#{Kernel.inspect(res)})."
509+
)
510+
511+
raise res
512+
end
504513

505514
{:ok, %HTTPoison.Response{status_code: 404}} ->
506515
base_url = "https://" <> hostname

0 commit comments

Comments
 (0)