Untitled

 avatar
unknown
plain_text
2 months ago
1.4 kB
2
Indexable
@Configuration
public class GcpProxyConfig {
    
    @Value("${http.proxy.host}")
    private String proxyHost;
    
    @Value("${http.proxy.port}")
    private int proxyPort;
    
    @Bean
    public TransportChannelProvider transportChannelProvider() {
        return InstantiatingGrpcChannelProvider.newBuilder()
            .setChannelConfigurator(managedChannelBuilder -> {
                managedChannelBuilder.proxyDetector(targetServerAddress -> {
                    return new SocketAddress() {
                        @Override
                        public String toString() {
                            return proxyHost + ":" + proxyPort;
                        }
                    };
                });
                return managedChannelBuilder;
            })
            .build();
    }
    
    @Bean
    @Primary
    public PubSubConfiguration pubSubConfiguration(
            TransportChannelProvider transportChannelProvider,
            CredentialsProvider credentialsProvider) {
            
        return new PubSubConfiguration() {
            @Override
            public TransportChannelProvider transportChannelProvider() {
                return transportChannelProvider;
            }
            
            @Override
            public CredentialsProvider credentialsProvider() {
                return credentialsProvider;
            }
        };
    }
}
Editor is loading...
Leave a Comment