diff --git a/app/logical/deviant_art_api_client.rb b/app/logical/deviant_art_api_client.rb index f5d53e102..d7ab6193b 100644 --- a/app/logical/deviant_art_api_client.rb +++ b/app/logical/deviant_art_api_client.rb @@ -55,12 +55,7 @@ class DeviantArtApiClient } body, code = HttpartyCache.get(url, **options) - - if code == 200 - return JSON.parse(Zlib.gunzip(body), symbolize_names: true) - end - - raise "DeviantArtApiClient call failed (code=#{code}, url=#{url}, body=#{body})" + JSON.parse(Zlib.gunzip(body), symbolize_names: true) end def oauth diff --git a/app/logical/sources/strategies/base.rb b/app/logical/sources/strategies/base.rb index 01d883d74..c877e0d7a 100644 --- a/app/logical/sources/strategies/base.rb +++ b/app/logical/sources/strategies/base.rb @@ -224,6 +224,11 @@ module Sources end memoize :related_posts + # A hash containing the results of any API calls made by the strategy. For debugging purposes only. + def api_response + nil + end + def to_h return { :artist_name => artist_name, @@ -242,7 +247,8 @@ module Sources :description => artist_commentary_desc, :dtext_title => dtext_artist_commentary_title, :dtext_description => dtext_artist_commentary_desc, - } + }, + :api_response => api_response.to_h, } end diff --git a/app/logical/sources/strategies/deviant_art.rb b/app/logical/sources/strategies/deviant_art.rb index 84aa1efea..10fc817ed 100644 --- a/app/logical/sources/strategies/deviant_art.rb +++ b/app/logical/sources/strategies/deviant_art.rb @@ -286,6 +286,13 @@ module Sources end memoize :api_download + def api_response + { + deviation: api_deviation, + metadata: api_metadata, + download: api_download, + } + end end end end