@@ -1372,12 +1372,18 @@ private void triggerCloseHandshake() {
13721372 return ;
13731373 }
13741374
1375+ boolean sendResponseHeaders =
1376+ dataPlaneClientCall .currentProcessingMode .getResponseHeaderMode ()
1377+ == ProcessingMode .HeaderSendMode .SEND
1378+ || dataPlaneClientCall .currentProcessingMode .getResponseHeaderMode ()
1379+ == ProcessingMode .HeaderSendMode .DEFAULT ;
1380+
13751381 boolean sendResponseTrailers =
13761382 dataPlaneClientCall .currentProcessingMode .getResponseTrailerMode ()
13771383 == ProcessingMode .HeaderSendMode .SEND ;
13781384
13791385 if (trailersOnly .get ()) {
1380- if (sendResponseTrailers ) {
1386+ if (sendResponseHeaders ) {
13811387 dataPlaneClientCall .sendToExtProc (ProcessingRequest .newBuilder ()
13821388 .setResponseHeaders (HttpHeaders .newBuilder ()
13831389 .setHeaders (
@@ -1389,12 +1395,11 @@ private void triggerCloseHandshake() {
13891395 .build ());
13901396 } else {
13911397 proceedWithClose ();
1392- dataPlaneClientCall .closeExtProcStream ();
1398+ if (!dataPlaneClientCall .config .getObservabilityMode ()) {
1399+ dataPlaneClientCall .closeExtProcStream ();
1400+ }
13931401 }
1394- return ;
1395- }
1396-
1397- if (sendResponseTrailers ) {
1402+ } else if (sendResponseTrailers ) {
13981403 dataPlaneClientCall .isProcessingTrailers .set (true );
13991404 dataPlaneClientCall .sendToExtProc (ProcessingRequest .newBuilder ()
14001405 .setResponseTrailers (HttpTrailers .newBuilder ()
@@ -1406,7 +1411,9 @@ private void triggerCloseHandshake() {
14061411 .build ());
14071412 } else {
14081413 proceedWithClose ();
1409- dataPlaneClientCall .closeExtProcStream ();
1414+ if (!dataPlaneClientCall .config .getObservabilityMode ()) {
1415+ dataPlaneClientCall .closeExtProcStream ();
1416+ }
14101417 }
14111418 }
14121419
0 commit comments