Class: HasHelpers::ServiceTrust::GraphQLClient
- Inherits:
-
Object
- Object
- HasHelpers::ServiceTrust::GraphQLClient
- Defined in:
- lib/has_helpers/service_trust/graphql_client.rb
Defined Under Namespace
Classes: Result
Instance Method Summary collapse
-
#initialize(audience:, base_url:, path: "/internal_graphql", client: nil) ⇒ GraphQLClient
constructor
A new instance of GraphQLClient.
- #query(document, variables: {}, operation_name: nil, capability: nil) ⇒ Object
Constructor Details
#initialize(audience:, base_url:, path: "/internal_graphql", client: nil) ⇒ GraphQLClient
Returns a new instance of GraphQLClient.
18 19 20 21 22 |
# File 'lib/has_helpers/service_trust/graphql_client.rb', line 18 def initialize(audience:, base_url:, path: "/internal_graphql", client: nil) @audience = audience @path = path @client = client || Client.new(audience: audience, base_url: base_url) end |
Instance Method Details
#query(document, variables: {}, operation_name: nil, capability: nil) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/has_helpers/service_trust/graphql_client.rb', line 24 def query(document, variables: {}, operation_name: nil, capability: nil) response = @client.post( @path, body: { query: document, variables: variables, operationName: operation_name }.compact, capability: capability ) raise GraphQLClientError, "HTTP #{response.status}" unless response.success? parsed = response.parsed || {} result = Result.new(data: parsed["data"], errors: parsed["errors"] || [], extensions: parsed["extensions"]) record_graphql_errors!(result) result end |