-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error when using HTTP2 #1533
Comments
Also interested in having HTTP2 work with Apollo. Since Express doesn't support HTTP2 natively yet, it may be worth creating a wrapper for spdy with an HTTP2 boolean flag that can be passed in when calling / creating a new |
I'm interested in using HTTP2 in fastify. |
I'm interested in using it in koa |
Please extend the HTTP 2 support for Restdatasource also |
any updates on this? |
Has any progress been made on this front, or any additional plans formed? |
Problem is in original `node_modules/apollo-server-env/node_modules/node-fetch/lib/index.js
when change to
It start working. |
While I know this isn't the most exciting thing to hear, I think this will get naturally fixed as part of Apollo Server 4 which we expect to ship in the first half of this year. It looks like the problem is that we normalize incoming requests to the Request type from node-fetch, which doesn't allow for the special HTTP/2 headers. We'll be defining our own request type in AS4 (see eg the HTTPGraphQLRequest proposal in #3184) and we'll avoid using node-fetch's Request for that, which should solve the issue. |
Apollo 4 is still in Alpha. Also it's been four years. The only thing missing is literally a colon. Will you accept a merge-request where I replace node-fetch with a fixed version? |
Apollo Server 4 is going into release candidate today. As mentioned above, this changes the type used to represent requests from I'm going to close this issue as fixed on the version-4 branch; it would be great if HTTP/2 users could verify this. |
Provide an example to how to create apollo server with http2 and express. |
apollo-server
doesn't seem to like when Node'shttp2
module is used. When an HTTP2 client (i.e. the browser) makes a request, this error happens:Since
apollo-server-core
usesRequest
andHeaders
objects fromnode-fetch
, I'm not sure whether this is an upstream problem or not. The problem is thatnode-fetch
doesn't seem to support the "special" header names documented here.Since
nodeHttpToRequest
isn't actually usingnode-fetch
to make an HTTP request, this seems to me like a problem internal to Apollo Server.node-fetch
has their own issue here for HTTP2, but that seems to be concerned with making HTTP2 requests.Reproduction:
(I use Koa)
Then make a GraphQL request, with your browser, to
https://localhost:8000/
(browsers do not allow insecure HTTP2, so you'll have to ignore the security warning)Potential Fix
In
nodeHttpToRequest
, ignore headers starting with:
The text was updated successfully, but these errors were encountered: