transport: surface data when received non-grpc header, end stream without trailers (#9217)
Follow up: #8929 Related to: https://github.com/grpc/grpc-go/issues/7406#issuecomment-4851757967 . I don't have the captured packages for reference. But according to the code, I think what I fixed is the only code path that produces codes.Internal / "server closed the stream without sending trailers" when nonGRPCStatus is set. With this change, if we were collecting non-gRPC response data, and received an end of stream while there is no trailers, finalize the status with whatever body we've buffered so far instead of discarding it. I added tests in both `internal/transport_test.go` and `test/end2end_test.go` to test it. RELEASE NOTES: * client: Fix non-gRPC error being discarded when END_STREAM arrives without trailers
C
Chengxi Luo committed
d7025c519f504dea1e1fec058449cffdc4beb3a5
Parent: 378072a
Committed by GitHub <noreply@github.com>
on 7/31/2026, 5:38:25 PM