SIGN IN SIGN UP

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