Skip to content

Conversation

@anuraaga
Copy link
Collaborator

#49

This implements the server side of gRPC protocol, running tests with pyvoy since it supports trailers. ASGI trailers are an extension defined in the spec and other servers may eventually support them, WSGI there's no definition but pyvoy provides an extension to provide parity between the two.

I know there was some concern about added complexity for supporting gRPC - let me know how it looks. I tried to keep things simpler by noting that gRPC protocol is almost the same as connect's streaming protocol except for error handling - so I didn't touch the unary codepath at all and left it connect-only. If it seems ok, I think it can be great to at least provide server-side support for gRPC to make migration easier than using a proxy server.

@anuraaga anuraaga requested a review from a team December 17, 2025 08:28
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
Copy link
Member

@stefanvanburen stefanvanburen left a comment

Choose a reason for hiding this comment

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

doesn't seem like a large lift in complexity to me, and supporting gRPC is huge for the initial transition from gRPC -> connect, so seems worthwhile. great stuff!

Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
case "n":
return 1 / 1000 / 1000
case _:
msg = "protocol error: timeout has invalid unit '{unit}'"
Copy link
Contributor

@i2y i2y Dec 18, 2025

Choose a reason for hiding this comment

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

missing f prefix
{unit} won't be interpolated and will appear literally in the error message.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Thanks for catching these!

Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
@anuraaga anuraaga merged commit 45f7e2b into connectrpc:main Dec 20, 2025
23 checks passed
@anuraaga anuraaga added the enhancement New feature or request label Dec 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants