connect-kotlin
connect-kotlin copied to clipboard
Fix all conformance failures other than timeouts/deadlines
The first two commits include fixes to the protocol logic to fix the known failures in conformance tests.
This still leaves the timeout/deadline propagation cases failing since those will require something more significant to resolve.
- The first commit fixes how trailers-only responses are classified. This was previously just looking for a "grpc-status" key in the headers. If it was present, it was treating it as a trailers-only response, even if there was a body and/or trailers.
- The second commit fixes the client to report errors in the face of unexpected response content types. I wish this were less verbose: I think in the future we can likely find some low-hanging fruit ways to improve the code organization and increase code sharing in these protocol implementations (especially gRPC and gRPC-Web).
The third commit is just some minor updates to comments and TODOs that I figured I'd tweak while I was in these files. Hopefully they all make sense.
The final commit cleans up the known failing test case configuration -- to remove everything but the timeout/deadline tests.
cc @perezd