|
16 | 16 | import com.google.inject.Binder; |
17 | 17 | import com.google.inject.multibindings.Multibinder; |
18 | 18 | import io.airlift.configuration.AbstractConfigurationAwareModule; |
19 | | -import io.airlift.discovery.client.ForDiscoveryClient; |
20 | 19 | import io.airlift.http.client.HttpClientConfig; |
21 | 20 | import io.airlift.http.client.HttpRequestFilter; |
22 | 21 | import io.airlift.http.client.Request; |
23 | 22 | import io.trino.server.InternalAuthenticationManager; |
24 | 23 | import io.trino.server.InternalCommunicationConfig; |
25 | 24 |
|
26 | 25 | import java.io.UncheckedIOException; |
| 26 | +import java.lang.annotation.Annotation; |
27 | 27 | import java.net.InetAddress; |
28 | 28 | import java.net.URI; |
29 | 29 | import java.net.URISyntaxException; |
|
33 | 33 | import static io.airlift.configuration.ConfigBinder.configBinder; |
34 | 34 | import static io.airlift.node.AddressToHostname.encodeAddressAsHostname; |
35 | 35 | import static io.trino.server.InternalCommunicationHttpClientModule.configureClient; |
| 36 | +import static java.util.Objects.requireNonNull; |
36 | 37 |
|
37 | 38 | public class InternalCommunicationForDiscoveryModule |
38 | 39 | extends AbstractConfigurationAwareModule |
39 | 40 | { |
| 41 | + private final Class<? extends Annotation> httpClientQualifier; |
| 42 | + |
| 43 | + public InternalCommunicationForDiscoveryModule(Class<? extends Annotation> httpClientQualifier) |
| 44 | + { |
| 45 | + this.httpClientQualifier = requireNonNull(httpClientQualifier, "httpClientQualifier is null"); |
| 46 | + } |
| 47 | + |
40 | 48 | @Override |
41 | 49 | protected void setup(Binder binder) |
42 | 50 | { |
43 | 51 | InternalCommunicationConfig internalCommunicationConfig = buildConfigObject(InternalCommunicationConfig.class); |
44 | | - Multibinder<HttpRequestFilter> discoveryFilterBinder = newSetBinder(binder, HttpRequestFilter.class, ForDiscoveryClient.class); |
| 52 | + Multibinder<HttpRequestFilter> discoveryFilterBinder = newSetBinder(binder, HttpRequestFilter.class, httpClientQualifier); |
45 | 53 | if (internalCommunicationConfig.isHttpsRequired() && internalCommunicationConfig.getKeyStorePath() == null && internalCommunicationConfig.getTrustStorePath() == null) { |
46 | 54 | discoveryFilterBinder.addBinding().to(DiscoveryEncodeAddressAsHostname.class); |
47 | 55 | } |
48 | | - configBinder(binder).bindConfigDefaults(HttpClientConfig.class, ForDiscoveryClient.class, config -> configureClient(config, internalCommunicationConfig)); |
| 56 | + configBinder(binder).bindConfigDefaults(HttpClientConfig.class, httpClientQualifier, config -> configureClient(config, internalCommunicationConfig)); |
49 | 57 | discoveryFilterBinder.addBinding().to(InternalAuthenticationManager.class); |
50 | 58 | } |
51 | 59 |
|
|
0 commit comments