Skip to content
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

Add connect-node-fastify server #477

Merged
merged 39 commits into from
Jun 29, 2023
Merged

Add connect-node-fastify server #477

merged 39 commits into from
Jun 29, 2023

Conversation

smaye81
Copy link
Member

@smaye81 smaye81 commented Jun 20, 2023

This adds a new Connect server using connect-fastify and connect-node. It wires it into the docker-compose setup and allows for serving HTTP/1.1 and HTTP/2 traffic using cleartext and TLS. Fastify does not offer HTTP/3 support as of yet, so that path is not available. Note: this does not yet use TLS, but can be added as a follow-up PR.

In addition, this also refactors a few things such as:

  • adds TypeScript support to the web portion
  • renames images, Dockerfiles, etc. to match the language so that adding new languages can follow one pattern. For example, client-connect-to-server-connect-go-h2 becomes client-connect-go-to-server-connect-go-h2 and uses Dockerfile.crosstestgo instead of Dockerfile.crosstest.
  • updates to connect-go v1.9.0 for https://github.com/bufbuild/connect-go/pull/528 which fixes an issue with parsing response headers from a connect-node server.
  • updates to connect-es v0.11.0 for Disregard non-JSON error response bodies connect-es#695, which fixes an issue with parsing response bodies for non-JSON content types.

docker-compose.yaml Outdated Show resolved Hide resolved
@smaye81 smaye81 requested review from timostamm, cyinma and doriable June 20, 2023 23:06
docker-compose.yaml Outdated Show resolved Hide resolved
buf.gen.yaml Outdated Show resolved Hide resolved
docker-compose.yaml Outdated Show resolved Hide resolved
web/server/fastify/server.ts Outdated Show resolved Hide resolved
Makefile Show resolved Hide resolved
Makefile Show resolved Hide resolved
web/server/fastify/program.ts Show resolved Hide resolved
@@ -1,3 +1,3 @@
version: v1
directories:
- internal/proto
- proto
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a reasonable change, but we have at least one command using the old path here. I'm not sure what Kotlin and Swift do.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can fix that path once this lands. I checked both repos and they do not seem to rely on that path. Also followed up with Alan and Rebello to verify.

web/dist/gen/proto/connect-web/grpc/testing/empty_pb.js Outdated Show resolved Hide resolved
web/server/build.js Outdated Show resolved Hide resolved
web/server/fastify/server.ts Outdated Show resolved Hide resolved
Makefile Show resolved Hide resolved
@smaye81 smaye81 merged commit 3e4b5ac into main Jun 29, 2023
@smaye81 smaye81 deleted the sayers/connect-node-server branch June 29, 2023 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants