|
1 | 1 | package org.springframework.grpc.autoconfigure.common.codec; |
2 | 2 |
|
3 | | -import io.grpc.Codec; |
4 | | -import io.grpc.CompressorRegistry; |
5 | | -import io.grpc.DecompressorRegistry; |
| 3 | +import io.grpc.*; |
6 | 4 | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; |
7 | | -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; |
8 | 5 | import org.springframework.context.annotation.Bean; |
9 | 6 | import org.springframework.context.annotation.Configuration; |
10 | 7 |
|
| 8 | +import java.util.List; |
| 9 | + |
11 | 10 | /** |
12 | 11 | * The autoconfiguration that contains all codec related beans for clients/servers. |
13 | 12 | * |
|
17 | 16 | @ConditionalOnClass(Codec.class) |
18 | 17 | public class GrpcCodecAutoConfiguration { |
19 | 18 |
|
20 | | - @ConditionalOnMissingBean |
21 | | - @Bean |
22 | | - public Codec gzipCompressor() { |
23 | | - return new Codec.Gzip(); |
24 | | - } |
25 | | - |
26 | | - @ConditionalOnMissingBean |
27 | 19 | @Bean |
28 | | - public CompressorRegistry defaultCompressorRegistry(Codec codec) { |
29 | | - final CompressorRegistry registry = CompressorRegistry.getDefaultInstance(); |
30 | | - registry.register(codec); |
| 20 | + public CompressorRegistry compressorRegistry(List<Compressor> compressors) { |
| 21 | + CompressorRegistry registry = CompressorRegistry.getDefaultInstance(); |
| 22 | + compressors.forEach(registry::register); |
31 | 23 | return registry; |
32 | 24 | } |
33 | 25 |
|
34 | | - @ConditionalOnMissingBean |
35 | 26 | @Bean |
36 | | - public DecompressorRegistry defaultDecompressorRegistry(Codec codec) { |
| 27 | + public DecompressorRegistry decompressorRegistry(List<Decompressor> decompressors) { |
37 | 28 | DecompressorRegistry registry = DecompressorRegistry.getDefaultInstance(); |
38 | | - registry = registry.with(codec, false); |
| 29 | + decompressors.forEach(decompressor -> registry.with(decompressor, false)); |
39 | 30 | return registry; |
40 | 31 | } |
41 | 32 |
|
|
0 commit comments