Open int128 opened 5 years ago
This is workaround, we can identify if errors
is provided by checking pointer type as follows:
var q *struct{}
if err := client.Query(ctx, &q, vars); err != nil {
if q != nil {
return errors.Wrapf(err, "this is an error such as not found or invalid query")
}
return errors.Wrapf(err, "this is an error such as network or bad json")
}
👍 I think actually shurcooL/graphql#31 or rather shurcooL/graphql#33 should fix this and this library here doesn't need to change much. Is there anything we can do to help bring this forward?
I think actually shurcooL/graphql#31 or rather shurcooL/graphql#33 should fix this and this library here doesn't need to change much.
Agreed.
Is there anything we can do to help bring this forward?
Sorry, I won't have the ability to focus on this for the next few weeks, but I'd like to after that. This is an important API decision, and I'd like to take care to find a good solution rather than rushing.
I suggest iterating on this on forks as a workaround if you need a solution sooner. Reporting results here would be helpful. Thanks.
GitHub GraphQL API returns
errors
response on error cases such as not found, for example:Currently
Query()
does not provide any errors but it should do for error handling, for example:Thank you for the great work!