diff options
author | Carl Mastrangelo <notcarl@google.com> | 2017-10-31 10:49:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-31 10:49:25 -0700 |
commit | 8f88cb82f2914312cb75f533822e169ecac78d21 (patch) | |
tree | c18659b4c43ea5f5372078c46b36c3910f0cce71 /netty | |
parent | 46b2ce19223f47367309e6fceda5517762156810 (diff) | |
download | grpc-grpc-java-8f88cb82f2914312cb75f533822e169ecac78d21.tar.gz |
netty: include rst stream message in Status
Diffstat (limited to 'netty')
-rw-r--r-- | netty/src/main/java/io/grpc/netty/NettyServerHandler.java | 7 | ||||
-rw-r--r-- | netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/netty/src/main/java/io/grpc/netty/NettyServerHandler.java b/netty/src/main/java/io/grpc/netty/NettyServerHandler.java index 78cc8315f..f85e6b702 100644 --- a/netty/src/main/java/io/grpc/netty/NettyServerHandler.java +++ b/netty/src/main/java/io/grpc/netty/NettyServerHandler.java @@ -396,11 +396,12 @@ class NettyServerHandler extends AbstractNettyHandler { } } - private void onRstStreamRead(int streamId) throws Http2Exception { + private void onRstStreamRead(int streamId, long errorCode) throws Http2Exception { try { NettyServerStream.TransportState stream = serverStream(connection().stream(streamId)); if (stream != null) { - stream.transportReportStatus(Status.CANCELLED); + stream.transportReportStatus( + Status.CANCELLED.withDescription("RST_STREAM received for code " + errorCode)); } } catch (Throwable e) { logger.log(Level.WARNING, "Exception in onRstStreamRead()", e); @@ -664,7 +665,7 @@ class NettyServerHandler extends AbstractNettyHandler { if (keepAliveManager != null) { keepAliveManager.onDataReceived(); } - NettyServerHandler.this.onRstStreamRead(streamId); + NettyServerHandler.this.onRstStreamRead(streamId, errorCode); } @Override diff --git a/netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java b/netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java index 5ae27bd64..8854961de 100644 --- a/netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java +++ b/netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java @@ -52,6 +52,7 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import com.google.common.io.ByteStreams; +import com.google.common.truth.Truth; import io.grpc.Attributes; import io.grpc.Metadata; import io.grpc.ServerStreamTracer; @@ -273,7 +274,11 @@ public class NettyServerHandlerTest extends NettyHandlerTestBase<NettyServerHand createStream(); channelRead(rstStreamFrame(STREAM_ID, (int) Http2Error.CANCEL.code())); - verify(streamListener).closed(Status.CANCELLED); + + ArgumentCaptor<Status> statusCap = ArgumentCaptor.forClass(Status.class); + verify(streamListener).closed(statusCap.capture()); + assertEquals(Code.CANCELLED, statusCap.getValue().getCode()); + Truth.assertThat(statusCap.getValue().getDescription()).contains("RST_STREAM"); verify(streamListener, atLeastOnce()).onReady(); assertNull("no messages expected", streamListenerMessageQueue.poll()); } |