private ConnectionProvider buildConnectionProvider(final HttpClientProperties.Pool pool) {
        if (pool.getType() == HttpClientProperties.Pool.PoolType.DISABLED) {
            return ConnectionProvider.newConnection();
        } else {
            ConnectionProvider.Builder builder = ConnectionProvider.builder(pool.getName());
            if (pool.getType() == HttpClientProperties.Pool.PoolType.FIXED) {
                // reactor remove fixed pool by fixed method from 0.9.4
                // reason: https://github.com/reactor/reactor-netty/issues/1499 and https://github.com/reactor/reactor-netty/issues/1960
                this.buildFixedConnectionPool(pool, builder);
            } else {
                // please see https://projectreactor.io/docs/netty/release/reference/index.html#_connection_pool_2
                // reactor remove elastic pool by elastic method from 0.9.4
                // reason: https://github.com/reactor/reactor-netty/issues/1499 and https://github.com/reactor/reactor-netty/issues/1960
                this.buildElasticConnectionPool(builder);
            }
            Optional.ofNullable(pool.getMaxIdleTime()).map(Duration::ofMillis).ifPresent(builder::maxIdleTime);
            Optional.ofNullable(pool.getMaxLifeTime()).map(Duration::ofMillis).ifPresent(builder::maxLifeTime);
            Optional.ofNullable(pool.getEvictionInterval()).map(Duration::ofMillis).ifPresent(builder::evictInBackground);
            builder.metrics(pool.getMetrics());
            return builder.build();
        }
    }
set http proxy.
@param httpClient http client
@param proxy proxy
@return HttpClient
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-httpclient/src/main/java/org/apache/shenyu/springboot/starter/plugin/httpclient/HttpClientFactory.java