Store last fm information into session (doesn't work yet)

This commit is contained in:
Claudio Ortolina
2025-05-05 20:58:37 +01:00
parent 95e80bc432
commit d5b29b20bb
2 changed files with 21 additions and 3 deletions
+7 -1
View File
@@ -1,7 +1,7 @@
defmodule LastFm.API do
require Logger
alias LastFm.{Artist, Track}
alias LastFm.{Artist, Session, Track}
defmodule ErrorResponse do
defstruct [:error, :message]
@@ -71,6 +71,7 @@ defmodule LastFm.API do
|> new_request()
|> Req.merge(url: "/", params: params)
|> Req.Request.append_response_steps(parse_error: &parse_error/1)
|> Req.Request.append_response_steps(parse_session: &parse_session/1)
|> get_request()
end
@@ -181,6 +182,11 @@ defmodule LastFm.API do
request
end
defp parse_session({request, response}) do
session = Session.parse(response.body)
{request, Map.put(response, :body, session)}
end
defp parse_error({request, response}) do
case response.body do
%{"error" => error_number, "message" => message} ->