From a5b4c9bae16a311a1655d2c2f0ab6c20c8f31d76 Mon Sep 17 00:00:00 2001 From: yma Date: Mon, 5 Aug 2024 15:52:44 +0800 Subject: [PATCH] Add proxyAllowHttpJobTypes param for SiteConfig --- .../util/jhttpc/model/SiteConfig.java | 21 +++++++++++++----- .../util/jhttpc/model/SiteConfigBuilder.java | 22 +++++++++++++++---- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/commonjava/util/jhttpc/model/SiteConfig.java b/src/main/java/org/commonjava/util/jhttpc/model/SiteConfig.java index 367f936..92753a3 100644 --- a/src/main/java/org/commonjava/util/jhttpc/model/SiteConfig.java +++ b/src/main/java/org/commonjava/util/jhttpc/model/SiteConfig.java @@ -40,6 +40,8 @@ public final class SiteConfig public static final int DEFAULT_CONNECTION_POOL_TIMEOUT_SECONDS = 60; + public static final String DEFAULT_PROXY_ALLOW_HTTP_JOB_TYPES = "download,existence,listing"; + private final String id; private final String uri; @@ -52,6 +54,8 @@ public final class SiteConfig private final String proxyUser; + private final String proxyAllowHttpJobTypes; + private final SiteTrustType trustType; private final String keyCertPem; @@ -87,11 +91,12 @@ public final class SiteConfig private final Integer baseSampleRate; SiteConfig( String id, String uri, String user, String proxyHost, Integer proxyPort, String proxyUser, - SiteTrustType trustType, String keyCertPem, String serverCertPem, Integer requestTimeoutSeconds, - Integer connectionPoolTimeoutSeconds, Integer maxConnections, Integer maxPerRoute, - final ConnectionConfig connectionConfig, final SocketConfig socketConfig, - final RequestConfig requestConfig, HttpClientContext clientContextPrototype, boolean ignoreHostnameVerification, Map attributes, - Boolean metricEnabled, String honeycombDataset, String honeycombWriteKey, Integer baseSampleRate ) + String proxyAllowHttpJobTypes, SiteTrustType trustType, String keyCertPem, String serverCertPem, + Integer requestTimeoutSeconds, Integer connectionPoolTimeoutSeconds, Integer maxConnections, + Integer maxPerRoute, final ConnectionConfig connectionConfig, final SocketConfig socketConfig, + final RequestConfig requestConfig, HttpClientContext clientContextPrototype, + boolean ignoreHostnameVerification, Map attributes, Boolean metricEnabled, + String honeycombDataset, String honeycombWriteKey, Integer baseSampleRate ) { this.id = id; this.uri = uri; @@ -99,6 +104,7 @@ public final class SiteConfig this.proxyHost = proxyHost; this.proxyPort = proxyPort; this.proxyUser = proxyUser; + this.proxyAllowHttpJobTypes = proxyAllowHttpJobTypes; this.trustType = trustType; this.keyCertPem = keyCertPem; this.serverCertPem = serverCertPem; @@ -168,6 +174,11 @@ public String getProxyUser() return proxyUser; } + public String getProxyAllowHttpJobTypes() + { + return proxyAllowHttpJobTypes == null ? DEFAULT_PROXY_ALLOW_HTTP_JOB_TYPES : proxyAllowHttpJobTypes; + } + public String getKeyCertPem() { return keyCertPem; diff --git a/src/main/java/org/commonjava/util/jhttpc/model/SiteConfigBuilder.java b/src/main/java/org/commonjava/util/jhttpc/model/SiteConfigBuilder.java index af0d3b3..1099cde 100644 --- a/src/main/java/org/commonjava/util/jhttpc/model/SiteConfigBuilder.java +++ b/src/main/java/org/commonjava/util/jhttpc/model/SiteConfigBuilder.java @@ -48,6 +48,8 @@ public class SiteConfigBuilder private String proxyUser; + private String proxyAllowHttpJobTypes; + private SiteTrustType trustType; private String keyCertPem; @@ -99,10 +101,11 @@ public SiteConfigBuilder( String id, String uri ) public SiteConfig build() { - return new SiteConfig( id, uri, user, proxyHost, proxyPort, proxyUser, trustType, keyCertPem, serverCertPem, - requestTimeoutSeconds, connectionPoolTimeoutSeconds, maxConnections, maxPerRoute, - connectionConfig, socketConfig, requestConfig, clientContextProtoype, - ignoreHostnameVerification, attributes, metricEnabled, honeycombDataset, honeycombWriteKey, baseSampleRate ); + return new SiteConfig( id, uri, user, proxyHost, proxyPort, proxyUser, proxyAllowHttpJobTypes, trustType, + keyCertPem, serverCertPem, requestTimeoutSeconds, connectionPoolTimeoutSeconds, + maxConnections, maxPerRoute, connectionConfig, socketConfig, requestConfig, + clientContextProtoype, ignoreHostnameVerification, attributes, metricEnabled, + honeycombDataset, honeycombWriteKey, baseSampleRate ); } public String getId() @@ -149,6 +152,11 @@ public String getProxyUser() return proxyUser; } + public String getProxyAllowHttpJobTypes() + { + return proxyAllowHttpJobTypes; + } + public String getKeyCertPem() { return keyCertPem; @@ -227,6 +235,12 @@ public SiteConfigBuilder withProxyUser( String proxyUser ) return this; } + public SiteConfigBuilder withProxyAllowHttpJobTypes( String proxyAllowHttpJobTypes ) + { + this.proxyAllowHttpJobTypes = proxyAllowHttpJobTypes; + return this; + } + public SiteConfigBuilder withTrustType( SiteTrustType trustType ) { this.trustType = trustType;