Conversation
Hang lava middleware on Mux.UseRPCMiddleware so unary and all stream modes share one chain for local and proxy backends, and always emit gRPC-Web trailer frames on success. Co-authored-by: Cursor <cursoragent@cursor.com>
Cache Operation at registration time and look up via Mux helpers so routerTree stays an HTTP index by FullMethod without duplicating schema. Co-authored-by: Cursor <cursoragent@cursor.com>
Wire gzip compressors into the HTTP/gRPC-Web framed path via grpc-encoding / grpc-accept-encoding and per-frame flags, keeping encoding headers out of trailer frames. Co-authored-by: Cursor <cursoragent@cursor.com>
Document UseRPCMiddleware, compression, and Operation as dispatch SSOT so public docs match the Phase 1–3 implementation. Co-authored-by: Cursor <cursoragent@cursor.com>
Wire NewGatewaySurface and UseRPCMiddleware into the multi-protocol example, expand verify for HTTP/gRPC-Web trailers and gzip, and document both example apps. Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce a publishable JS client with createHttpJsonClient and createGrpcWebTransport, and rewire the grpcweb frontend example to consume it. Co-authored-by: Cursor <cursoragent@cursor.com>
Add createGatewayTransport (json/binary/text), JsonRpcTransport with NDJSON streams and errorpb parsing, and rework the grpcweb demo as an agentrun-style rpc facade. Co-authored-by: Cursor <cursoragent@cursor.com>
Check Close errors in tests/verify and drop the redundant Backend() conversion in TransparentHandler. Co-authored-by: Cursor <cursoragent@cursor.com>
Flush server-stream bodies through Fiber SendStreamWriter so subscribe-style WatchHello pushes reach the client incrementally, encode grpc-web-text as one continuous base64 stream, and expand the example/SDK coverage for unary, headers/trailers, and long-lived server streams. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Mux.DispatchFrontend, withUseRPCMiddlewareso lava middleware covers unary and all stream modes for local and proxy backends.grpc-encoding/grpc-accept-encoding(default gzip).Operationthe dispatch registry SSOT; keeprouterTreeas an HTTP path index. Align README / design-evolution with the shipped Phase 1–3 architecture.Test plan
go test ./pkg/gateway/... ./servers/gatewayserver/...grpc-status: 0)grpc-accept-encoding: gzipand compressed request framesMade with Cursor