@@ -234,12 +234,31 @@ def get(endpoint, decoder = :json, params = {})
234234 # parse JSON response with Ruby standard library
235235 data = JSON . parse ( response . body , symbolize_names : symbolize_names )
236236 if data . instance_of? ( Hash ) && data . key? ( :error )
237- raise SerpApiError , "HTTP request failed with error: #{ data [ :error ] } from url: https://#{ BACKEND } #{ endpoint } , params: #{ params } , decoder: #{ decoder } , response status: #{ response . status } "
237+ raise SerpApiError . new ( "HTTP request failed with error: #{ data [ :error ] } from url: " +
238+ "https://#{ BACKEND } #{ endpoint } , params: #{ params } , decoder: " +
239+ "#{ decoder } , response status: #{ response . status } " ,
240+ serpapi_error : data [ :error ] ,
241+ search_params : params ,
242+ response_status : response . status ,
243+ search_id : data . dig ( :search_metadata , :id ) ,
244+ decoder : decoder )
238245 elsif response . status != 200
239- raise SerpApiError , "HTTP request failed with response status: #{ response . status } reponse: #{ data } on get url: https://#{ BACKEND } #{ endpoint } , params: #{ params } , decoder: #{ decoder } "
246+ raise SerpApiError . new ( "HTTP request failed with response status: #{ response . status } " +
247+ " reponse: #{ data } on get url: https://#{ BACKEND } #{ endpoint } , " +
248+ "params: #{ params } , decoder: #{ decoder } " ,
249+ serpapi_error : data [ :error ] ,
250+ search_params : params ,
251+ response_status : response . status ,
252+ search_id : data . dig ( :search_metadata , :id ) ,
253+ decoder : decoder )
240254 end
241255 rescue JSON ::ParserError
242- raise SerpApiError , "JSON parse error: #{ response . body } on get url: https://#{ BACKEND } #{ endpoint } , params: #{ params } , decoder: #{ decoder } , response status: #{ response . status } "
256+ raise SerpApiError . new ( "JSON parse error: #{ response . body } on get url: " +
257+ "https://#{ BACKEND } #{ endpoint } , params: #{ params } , " +
258+ "decoder: #{ decoder } , response status: #{ response . status } " ,
259+ search_params : params ,
260+ response_status : response . status ,
261+ decoder : decoder )
243262 end
244263
245264 # discard response body
@@ -249,7 +268,12 @@ def get(endpoint, decoder = :json, params = {})
249268 when :html
250269 # html decoder
251270 if response . status != 200
252- raise SerpApiError , "HTTP request failed with response status: #{ response . status } reponse: #{ data } on get url: https://#{ BACKEND } #{ endpoint } , params: #{ params } , decoder: #{ decoder } "
271+ raise SerpApiError . new ( "HTTP request failed with response status: #{ response . status } " +
272+ "reponse: #{ data } on get url: https://#{ BACKEND } #{ endpoint } , " +
273+ "params: #{ params } , decoder: #{ decoder } " ,
274+ search_params : params ,
275+ response_status : response . status ,
276+ decoder : decoder )
253277 end
254278
255279 response . body
0 commit comments