Untitled

 avatar
unknown
plain_text
a month ago
1.3 kB
3
Indexable
@Configuration
public class GcpProxyConfig {
    
    @Value("${http.proxy.host}")
    private String proxyHost;
    
    @Value("${http.proxy.port}")
    private int proxyPort;
    
    @Bean
    public TransportChannelProvider transportChannelProvider() {
        HttpTransportChannelProvider.Builder builder = HttpTransportChannelProvider.newBuilder()
            .setHttpTransportFactory(() -> {
                NetHttpTransport.Builder transportBuilder = new NetHttpTransport.Builder();
                Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
                transportBuilder.setProxy(proxy);
                return transportBuilder.build();
            });
            
        return builder.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;
            }
        };
    }
}
Leave a Comment