Comments (3)
Here is repro: https://github.com/rafalp/graphql-core-next-30
from graphql-core.
Thanks for reporting. Will look into this when I find some time. Maybe you can also post some demo code that demonstrates the problem.
from graphql-core.
Hi @rafalp - finally found some time to look into this. I understand your problem, but as far as I see, this is the expected behavior and in line with the spec.
When you provide a response
function to produce the response stream, then errors are in fact passed to the client (see points 5. and 6.) as part of the GraphQLResult
. But the subscribe
function in your example is used for creating the source stream. As far as I see, the specs do not say explicitly what should be done with errors in the source stream. But there is nothing about passing them to the response stream.
The reference implementation passes errors in the response stream to the client and errors in the source stream to the server. You can see this is the expected behavior in these tests in GraphQL.js: It should handle error during execution of source event but it should pass through error thrown in source event stream. Your example corresponds to the second test - that's why the error is passed through to you.
You could argue that the specs should be amended and errors should be handed over to the response stream. But you will need to create a GraphQL.js issue for this. The goal of graphql-core-next is to just replicate the behavior of GraphQL.js.
from graphql-core.
Related Issues (20)
- subscribe breaking change in graphql version 3.3.0a3 HOT 1
- [Question] How to map operation variables to their uses? HOT 2
- Using Relays in Graphql-core raises a TypeError HOT 4
- `out_name` is not respected for input objects used as default argument value
- Segfault during schema parsing HOT 3
- Segfault during schema parsing
- `graphql.utilities.print_schema` module contents are hidden behind `utilities` package
- `deepcopy` fails if the schema has a directive with an enum argument
- Both `typing.ByteString` and `typing.Text` are deprecated and slated for removal in Python 3.14 HOT 3
- Add the ability to specify `GraphQLResolveInfo.context` type HOT 1
- I use middleware for that right now HOT 1
- construction fails for depth around > 200 / resource exhaustion? HOT 9
- Cancel resolver tasks if execution of an operation is terminated HOT 7
- Support for official @oneof directive HOT 1
- How do you run tests with an IDE? HOT 4
- Pregenerate and Caching GraphqlSchema with Pickle HOT 4
- Validation/coercion of input variables violates the GraphQL spec HOT 1
- Inquiry about the release of a stable version after 3.2.3 HOT 1
- Variable values ordering not kept during execution HOT 2
- How to pass additional information to GraphQLResolveInfo
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 graphql-core.