mirror of https://github.com/grpc/grpc-go.git
fix send response error case
This commit is contained in:
parent
fa2968617c
commit
c6a3937033
16
server.go
16
server.go
|
|
@ -794,12 +794,18 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
|
|||
if err := s.sendResponse(t, stream, reply, s.opts.cp, opts); err != nil {
|
||||
// TODO: Translate error into a status.Status error if necessary?
|
||||
// TODO: Write status when appropriate.
|
||||
switch e := err.(type) {
|
||||
case status.Status:
|
||||
if se := t.WriteStatus(stream, e); e != nil {
|
||||
grpclog.Printf("grpc: Server.processUnaryRPC failed to write status %v", se)
|
||||
s, ok := status.FromError(err)
|
||||
if !ok {
|
||||
// TODO: Parse possible non-status error
|
||||
} else {
|
||||
switch s.Code() {
|
||||
case codes.InvalidArgument:
|
||||
if e := t.WriteStatus(stream, s); e != nil {
|
||||
grpclog.Printf("grpc: Server.processUnaryRPC failed to write status: %v", e)
|
||||
}
|
||||
// TODO: Add cases if needed
|
||||
default:
|
||||
}
|
||||
default:
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1423,8 +1423,8 @@ func testServiceConfigMaxMsgSize(t *testing.T, e env) {
|
|||
func TestMsgSizeDefaultAndAPI(t *testing.T) {
|
||||
defer leakCheck(t)()
|
||||
for _, e := range listTestEnv() {
|
||||
// testMaxMsgSizeClientDefault(t, e)
|
||||
// testMaxMsgSizeClientAPI(t, e)
|
||||
testMaxMsgSizeClientDefault(t, e)
|
||||
testMaxMsgSizeClientAPI(t, e)
|
||||
testMaxMsgSizeServerAPI(t, e)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue