Skip to content

Commit c4d7fab

Browse files
committed
simplify compression filter handling of server supported encoding headers
1 parent deff9d4 commit c4d7fab

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

packages/grpc-js/src/compression-filter.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,10 @@ export class CompressionFilter extends BaseFilter implements Filter {
240240
this.sharedFilterConfig.serverSupportedEncodingHeader = serverSupportedEncodingsHeader;
241241
const serverSupportedEncodings = serverSupportedEncodingsHeader.split(',');
242242

243-
if ((this.sendCompression instanceof DeflateHandler && !serverSupportedEncodings.includes('deflate'))
244-
|| (this.sendCompression instanceof GzipHandler && !serverSupportedEncodings.includes('gzip'))) {
245-
this.sendCompression = new IdentityHandler();
246-
}
243+
if (!serverSupportedEncodings.includes(this.currentCompressionAlgorithm)) {
244+
this.sendCompression = new IdentityHandler();
245+
this.currentCompressionAlgorithm = 'identity';
246+
}
247247
}
248248
metadata.remove('grpc-accept-encoding');
249249
return metadata;

packages/grpc-js/test/test-server.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import { loadProtoFile } from './common';
3333
import { TestServiceClient, TestServiceHandlers } from './generated/TestService';
3434
import { ProtoGrpcType as TestServiceGrpcType } from './generated/test_service';
3535
import { Request__Output } from './generated/Request';
36+
import { CompressionAlgorithms } from '../src/compression-algorithms';
3637

3738
const loadedTestServiceProto = protoLoader.loadSync('test/fixtures/test_service.proto', {
3839
keepCase: true,
@@ -683,7 +684,7 @@ describe('Compressed requests', () => {
683684
`localhost:${assignedPort}`,
684685
grpc.credentials.createInsecure(),
685686
{
686-
'grpc.default_compression_algorithm': 1
687+
'grpc.default_compression_algorithm': CompressionAlgorithms.deflate
687688
}
688689
);
689690
done();
@@ -774,7 +775,7 @@ describe('Compressed requests', () => {
774775
`localhost:${assignedPort}`,
775776
grpc.credentials.createInsecure(),
776777
{
777-
'grpc.default_compression_algorithm': 2
778+
'grpc.default_compression_algorithm': CompressionAlgorithms.gzip
778779
}
779780
);
780781

0 commit comments

Comments
 (0)