Comments (3)
I'm actually not sure it's appropriate for us to support this. To be honest, what stops any given GraphQL HTTP API to implement any response code or shape they want? Especially in this case, Contentful has decided to namespace the error code under a custom extension key, instead of following the defacto standard.
This is even more odd in my opinion based on their request input shape following the defacto spec.
Overall, most APIs currently follow the defacto spec, and until a spec is ratified and implemented by the GraphQL over HTTP spec extensions, I don't think there's a good argument to be made for implementing arbitrary spec divergences in the urql repo.
There's of course an argument to be made for these functions to be configurable:
urql/exchanges/persisted/src/persistedExchange.ts
Lines 25 to 29 in 0a763bb
However, again, this hasn't happened because we for now have a defacto spec, and there's no point in diverging from it just sometimes.
So, for now, I can only offer you to please "fork" @urql/exchange-persisted
, or rather vendor the exchange into your codebase with the necessary changes
Hope that makes sense to you. Happy to answer more questions about it, but I think for now let's put the PR on hold and I don't think there'll be much movement in urql re. APQ support unless a new spec arises for it in GraphQL over HTTP
from urql.
Thanks @kitten for your comment. We also submitted support ticket for Contentful to take a look to align with popular GraphQL client out there, e.g Relay, ApolloClient. For now, we will use my own fork.
It would be nice that the error could be part of graphQL spec though.
from urql.
I am going to close this out as it's basically a vendor-specific ask 😅
from urql.
Related Issues (20)
- Graphcache cache invalidation no longer working within optimistic update HOT 3
- `@urql/next` publishes CommonJS with invalid React usages HOT 1
- RFC: Option to hide warnings when in development
- Infinite initialization? (with Graphql-codegen and Next.js 13) HOT 4
- persistedExchange(APQ) doesn't work with cacheExchange due to Document Caching HOT 2
- RFC: Add `onCacheHydrated` event
- useQuery re-render even if cached when neighbor data (but not retrieved by useQuery) is newly retrieved HOT 4
- RFC (Graphcache): Change SerializedEntries to provide Map to storage adapters HOT 3
- Component does not suspend when changing variables while using `suspense: true`
- RangeError: Maximum call stack size exceeded when using persistedExchange in front of ssrExchange HOT 7
- Saving a component in Next.js development mode casues infinite requests HOT 1
- Stale || Fetching doesn't actually represent when operations are in progress while offline HOT 5
- storage missing in typed graphcache HOT 3
- Request Policy set to cache-only throws error during build of next.js app with document cache
- request-policy-exchange behavior differs between dev & production HOT 2
- @urql/next registerUrql fails in Next.js app due to TypeError: React.cache is not a function HOT 1
- reexecuteQuery not using new variables HOT 1
- RFC: Consolidating document and normalised caching - safer caching
- [Network] Load failed. Requests are failing on mobile and safari (Safari on both desktop and mobile, and on mobile chrome) HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from urql.