X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fgraphql-client;a=blobdiff_plain;f=README.md;fp=README.md;h=835afeec9d3540f7d989d27cd985769084c745be;hp=5f4df5bf6f1a74313a74621c0120c8c3ee17ddd0;hb=2c3b4020da88b3cf2f968e0b2c4e7b1a7e24a35f;hpb=fa1f0d33745578823db4d393dbabe889058bb8c0 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 {