@@ -1335,7 +1335,9 @@ int drainPendingMutatedRequestBodies() {
13351335 break ;
13361336 }
13371337 StreamedBodyResponse peeked = pendingMutatedRequestBodies .peek ();
1338- if (peeked .getEndOfStreamWithoutMessage ()) {
1338+ boolean isEosWithoutMessage =
1339+ peeked .getEndOfStream () && peeked .getEndOfStreamWithoutMessage ();
1340+ if (isEosWithoutMessage ) {
13391341 toDeliver .add (pendingMutatedRequestBodies .poll ());
13401342 } else if (pendingAppRequests .get () > 0 ) {
13411343 pendingAppRequests .decrementAndGet ();
@@ -1350,10 +1352,13 @@ int drainPendingMutatedRequestBodies() {
13501352 final int bodySize = streamed .getBody ().size ();
13511353 callContext .run (() -> {
13521354 try {
1353- if (!finalStreamed .getEndOfStreamWithoutMessage ()) {
1355+ boolean isEndOfStream = finalStreamed .getEndOfStream ();
1356+ boolean isEndOfStreamWithoutMessage =
1357+ isEndOfStream && finalStreamed .getEndOfStreamWithoutMessage ();
1358+ if (!isEndOfStreamWithoutMessage ) {
13541359 wrappedListener .onExternalBody (finalStreamed .getBody ());
13551360 }
1356- if (finalStreamed . getEndOfStream () || finalStreamed . getEndOfStreamWithoutMessage () ) {
1361+ if (isEndOfStream ) {
13571362 wrappedListener .proceedWithHalfClose ();
13581363 }
13591364 } finally {
@@ -1484,10 +1489,13 @@ private void drainRequestMessagesFailOpen() {
14841489 for (StreamedBodyResponse streamed : mutatedToDeliver ) {
14851490 final StreamedBodyResponse finalStreamed = streamed ;
14861491 callContext .run (() -> {
1487- if (!finalStreamed .getEndOfStreamWithoutMessage ()) {
1492+ boolean isEndOfStream = finalStreamed .getEndOfStream ();
1493+ boolean isEndOfStreamWithoutMessage =
1494+ isEndOfStream && finalStreamed .getEndOfStreamWithoutMessage ();
1495+ if (!isEndOfStreamWithoutMessage ) {
14881496 wrappedListener .onExternalBody (finalStreamed .getBody ());
14891497 }
1490- if (finalStreamed . getEndOfStream () || finalStreamed . getEndOfStreamWithoutMessage () ) {
1498+ if (isEndOfStream ) {
14911499 wrappedListener .proceedWithHalfClose ();
14921500 }
14931501 });
@@ -1908,6 +1916,7 @@ private void sendHalfCloseToExtProc() {
19081916 }
19091917
19101918 HttpBody .Builder bodyBuilder = HttpBody .newBuilder ()
1919+ .setEndOfStream (true )
19111920 .setEndOfStreamWithoutMessage (true );
19121921
19131922 ProcessingRequest .Builder builder = ProcessingRequest .newBuilder ()
0 commit comments