From 1be1a8630837d8b0f2306721c7c1961884cc9690 Mon Sep 17 00:00:00 2001 From: ScottA94 <94andersonsc@googlemail.com> Date: Sat, 27 Mar 2021 21:57:24 +0200 Subject: [PATCH 1/3] master - Updated query response failure to be more verbose --- lib/jeql/graphql_block.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/jeql/graphql_block.rb b/lib/jeql/graphql_block.rb index bee82cb..954545b 100644 --- a/lib/jeql/graphql_block.rb +++ b/lib/jeql/graphql_block.rb @@ -17,7 +17,9 @@ def render(context) context['data'] = JSON.parse(query.response.body)['data'] super else - raise GraphQlError, "The query #{query.query_name} failed" + responseBody = JSON.parse(query.response.body) + message = responseBody.key?("message") ? "Endpoint responded: #{responseBody['message']}" : "" + raise GraphQlError, "The query #{query.query_name} failed. " + message end end end From 1d6a308753171a970681bdd5f21c1fa6b87ff6c9 Mon Sep 17 00:00:00 2001 From: ScottA94 <94andersonsc@googlemail.com> Date: Wed, 14 Apr 2021 23:02:38 +0300 Subject: [PATCH 2/3] master - Updated verbose output to check if reponse provided from query error is JSON --- lib/jeql/graphql_block.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/jeql/graphql_block.rb b/lib/jeql/graphql_block.rb index 954545b..379373a 100644 --- a/lib/jeql/graphql_block.rb +++ b/lib/jeql/graphql_block.rb @@ -8,6 +8,17 @@ def initialize(tag_name, text, tokens) @text = text end + def handleResponse(responseBody) + begin + JSON.parse(responseBody) + rescue JSON::ParserError => e + return "" + end + responseBody = JSON.parse(query.response.body) + + return responseBody.key?("message") ? "Endpoint responded: \"#{responseBody['message']}\"" : "" + end + def render(context) hash_params = Hash[@params] @@ -17,9 +28,8 @@ def render(context) context['data'] = JSON.parse(query.response.body)['data'] super else - responseBody = JSON.parse(query.response.body) - message = responseBody.key?("message") ? "Endpoint responded: #{responseBody['message']}" : "" - raise GraphQlError, "The query #{query.query_name} failed. " + message + message = handleResponse(query.response.body) + raise GraphQlError, "The query #{query.query_name} failed. " + message end end end From 51e776e382d67114a5aacd997ecc2645c0f73b8d Mon Sep 17 00:00:00 2001 From: ScottA94 <94andersonsc@googlemail.com> Date: Thu, 15 Apr 2021 21:12:45 +0300 Subject: [PATCH 3/3] master - Changed variable misnaming in handleResponse --- lib/jeql/graphql_block.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/jeql/graphql_block.rb b/lib/jeql/graphql_block.rb index 379373a..b6295ea 100644 --- a/lib/jeql/graphql_block.rb +++ b/lib/jeql/graphql_block.rb @@ -10,13 +10,11 @@ def initialize(tag_name, text, tokens) def handleResponse(responseBody) begin - JSON.parse(responseBody) + response = JSON.parse(responseBody) + return response.key?("message") ? "Endpoint responded: \"#{response['message']}\"" : "" rescue JSON::ParserError => e return "" end - responseBody = JSON.parse(query.response.body) - - return responseBody.key?("message") ? "Endpoint responded: \"#{responseBody['message']}\"" : "" end def render(context)