diff --git a/lib/jeql/graphql_block.rb b/lib/jeql/graphql_block.rb index bee82cb..b6295ea 100644 --- a/lib/jeql/graphql_block.rb +++ b/lib/jeql/graphql_block.rb @@ -8,6 +8,15 @@ def initialize(tag_name, text, tokens) @text = text end + def handleResponse(responseBody) + begin + response = JSON.parse(responseBody) + return response.key?("message") ? "Endpoint responded: \"#{response['message']}\"" : "" + rescue JSON::ParserError => e + return "" + end + end + def render(context) hash_params = Hash[@params] @@ -17,7 +26,8 @@ def render(context) context['data'] = JSON.parse(query.response.body)['data'] super else - raise GraphQlError, "The query #{query.query_name} failed" + message = handleResponse(query.response.body) + raise GraphQlError, "The query #{query.query_name} failed. " + message end end end