VERSION
- version 0.600
+ version 0.601
SYNOPSIS
GraphQL::Client provides a simple way to execute GraphQL
<https://graphql.org/> queries and mutations on a server.
- This module is the programmatic interface. There is also a graphql.
+ This module is the programmatic interface. There is also a "CLI
+ program".
GraphQL servers are usually served over HTTP. The provided transport,
GraphQL::Client::http, lets you plug in your own user agent, so this
The URL of a GraphQL endpoint, e.g. "http://myapiserver/graphql".
- class
+ unpack
- The package name of a transport.
+ Whether or not to "unpack" the response, which enables a different
+ style for error-handling.
- By default this is automatically determined from the protocol portion
- of the "url".
+ Default is 0.
- transport
+ See "ERROR HANDLING".
- The transport object.
+ transport_class
- By default this is automatically constructed based on the "class".
+ The package name of a transport.
- unpack
+ This is optional if the correct transport can be correctly determined
+ from the "url".
- Whether or not to "unpack" the response, which enables a different
- style for error-handling.
+ transport
- Default is 0.
+ The transport object.
- See "ERROR HANDLING".
+ By default this is automatically constructed based on "transport_class"
+ or "url".
METHODS
There are two different styles for handling errors.
- If "unpack" is 0 (off), every response -- whether success or failure --
- is enveloped like this:
+ If "unpack" is 0 (off, the default), every response -- whether success
+ or failure -- is enveloped like this:
{
data => {...},
my $data = eval { $graphql->execute(...) };
if (my $error = $@) {
+ my $resp = $error->{response};
# handle errors
}
else {