X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=README.md;h=835afeec9d3540f7d989d27cd985769084c745be;hb=65bf221f3baf7043cac8eda435d598d9eef67a29;hp=5f4df5bf6f1a74313a74621c0120c8c3ee17ddd0;hpb=a1190420f86c2511c10c3ae0664d299447079a64;p=chaz%2Fgraphql-client diff --git a/README.md b/README.md index 5f4df5b..835afee 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ GraphQL::Client - A GraphQL client # VERSION -version 0.600 +version 0.601 # SYNOPSIS @@ -52,7 +52,7 @@ version 0.600 `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](#cli-program). +This module is the programmatic interface. There is also a ["CLI program"](https://metacpan.org/pod/graphql). GraphQL servers are usually served over HTTP. The provided transport, [GraphQL::Client::http](https://metacpan.org/pod/GraphQL%3A%3AClient%3A%3Ahttp), lets you plug in your own user agent, so this client works naturally with [HTTP::Tiny](https://metacpan.org/pod/HTTP%3A%3ATiny), @@ -64,25 +64,25 @@ you plug in your own user agent, so this client works naturally with [HTTP::Tiny 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"](#url). +Default is 0. -## transport +See ["ERROR HANDLING"](#error-handling). -The transport object. +## transport\_class -By default this is automatically constructed based on the ["class"](#class). +The package name of a transport. -## unpack +This is optional if the correct transport can be correctly determined from the ["url"](#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"](#error-handling). +By default this is automatically constructed based on ["transport\_class"](#transport_class) or ["url"](#url). # METHODS @@ -122,7 +122,8 @@ Note: Setting the ["unpack"](#unpack) attribute affects the response shape. There are two different styles for handling errors. -If ["unpack"](#unpack) is 0 (off), every response -- whether success or failure -- is enveloped like this: +If ["unpack"](#unpack) is 0 (off, the default), every response -- whether success or failure -- is enveloped +like this: { data => {...}, @@ -148,6 +149,7 @@ otherwise it will throw an exception. So your code would instead look like this: my $data = eval { $graphql->execute(...) }; if (my $error = $@) { + my $resp = $error->{response}; # handle errors } else {