28
28
import org .elasticsearch .common .TriFunction ;
29
29
import org .elasticsearch .common .breaker .CircuitBreaker ;
30
30
import org .elasticsearch .common .bytes .BytesReference ;
31
- import org .elasticsearch .common .compress .CompressorFactory ;
32
31
import org .elasticsearch .common .io .stream .InputStreamStreamInput ;
33
32
import org .elasticsearch .common .io .stream .NamedWriteableAwareStreamInput ;
34
33
import org .elasticsearch .common .io .stream .NamedWriteableRegistry ;
60
59
import org .elasticsearch .xpack .core .security .authc .Authentication ;
61
60
import org .elasticsearch .xpack .core .security .authc .support .AuthenticationContextSerializer ;
62
61
63
- import java .io .FilterOutputStream ;
64
62
import java .io .IOException ;
65
63
import java .io .InputStream ;
66
64
import java .io .OutputStream ;
@@ -584,28 +582,18 @@ boolean ensureAuthenticatedUserIsSame(Map<String, String> originHeaders, Authent
584
582
}
585
583
586
584
private void writeResponse (R response , OutputStream os ) throws IOException {
587
- os = new FilterOutputStream (os ) {
588
- @ Override
589
- public void close () {
590
- // do not close the output
591
- }
592
- };
593
585
final Version minNodeVersion = clusterService .state ().nodes ().getMinNodeVersion ();
594
- Version .writeVersion (minNodeVersion , new OutputStreamStreamOutput (os ));
595
- if (minNodeVersion .onOrAfter (Version .V_8_0_0 )) {
596
- os = CompressorFactory .COMPRESSOR .threadLocalOutputStream (os );
597
- }
598
- try (OutputStreamStreamOutput out = new OutputStreamStreamOutput (os )) {
599
- out .setVersion (minNodeVersion );
600
- response .writeTo (out );
601
- }
586
+ final OutputStreamStreamOutput out = new OutputStreamStreamOutput (os );
587
+ out .setVersion (minNodeVersion );
588
+ Version .writeVersion (minNodeVersion , out );
589
+ response .writeTo (out );
602
590
}
603
591
604
592
/**
605
593
* Decode the provided base-64 bytes into a {@link AsyncSearchResponse}.
606
594
*/
607
595
private R decodeResponse (CharBuffer encodedBuffer ) throws IOException {
608
- InputStream encodedIn = Base64 .getDecoder ().wrap (new InputStream () {
596
+ final InputStream encodedIn = Base64 .getDecoder ().wrap (new InputStream () {
609
597
@ Override
610
598
public int read () {
611
599
if (encodedBuffer .hasRemaining ()) {
@@ -615,12 +603,9 @@ public int read() {
615
603
}
616
604
}
617
605
});
618
- final Version version = Version .readVersion (new InputStreamStreamInput (encodedIn ));
619
- assert version .onOrBefore (Version .CURRENT ) : version + " >= " + Version .CURRENT ;
620
- if (version .onOrAfter (Version .V_8_0_0 )) {
621
- encodedIn = CompressorFactory .COMPRESSOR .threadLocalInputStream (encodedIn );
622
- }
623
606
try (StreamInput in = new NamedWriteableAwareStreamInput (new InputStreamStreamInput (encodedIn ), registry )) {
607
+ final Version version = Version .readVersion (in );
608
+ assert version .onOrBefore (Version .CURRENT ) : version + " >= " + Version .CURRENT ;
624
609
in .setVersion (version );
625
610
return reader .read (in );
626
611
}
0 commit comments