Skip to content

Commit acbd5c0

Browse files
authored
Merge pull request #1242 from sigstore/apachev5
Move to apache-v5 in google http client
2 parents a9e1815 + b264e0d commit acbd5c0

2 files changed

Lines changed: 24 additions & 9 deletions

File tree

sigstore-java/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ dependencies {
1616
annotationProcessor("org.immutables:value:2.12.2")
1717

1818
implementation(platform("com.google.http-client:google-http-client-bom:2.1.1"))
19-
implementation("com.google.http-client:google-http-client-apache-v2")
19+
implementation("com.google.http-client:google-http-client-apache-v5")
2020
implementation("com.google.http-client:google-http-client-gson")
2121

2222
implementation("io.github.erdtman:java-json-canonicalization:1.1")
@@ -34,7 +34,6 @@ dependencies {
3434
runtimeOnly("io.grpc:grpc-netty-shaded")
3535
compileOnly("org.apache.tomcat:annotations-api:6.0.53") // java 9+ only
3636

37-
implementation("commons-codec:commons-codec:1.18.0")
3837
implementation("com.google.code.gson:gson:2.14.0")
3938
implementation("org.bouncycastle:bcutil-jdk18on:1.84")
4039
implementation("org.bouncycastle:bcpkix-jdk18on:1.84")

sigstore-java/src/main/java/dev/sigstore/http/HttpClients.java

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,17 @@
1818
import com.google.api.client.http.HttpBackOffIOExceptionHandler;
1919
import com.google.api.client.http.HttpRequestFactory;
2020
import com.google.api.client.http.HttpTransport;
21-
import com.google.api.client.http.apache.v2.ApacheHttpTransport;
21+
import com.google.api.client.http.apache.v5.Apache5HttpTransport;
2222
import com.google.api.client.util.ExponentialBackOff;
2323
import com.google.api.client.util.ObjectParser;
2424
import dev.sigstore.forbidden.SuppressForbidden;
2525
import javax.annotation.Nullable;
26-
import org.apache.http.HttpHeaders;
27-
import org.apache.http.conn.ssl.NoopHostnameVerifier;
28-
import org.apache.http.impl.client.HttpClientBuilder;
26+
import org.apache.hc.client5.http.config.ConnectionConfig;
27+
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
28+
import org.apache.hc.client5.http.ssl.NoopHostnameVerifier;
29+
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactoryBuilder;
30+
import org.apache.hc.core5.http.HttpHeaders;
31+
import org.apache.hc.core5.util.TimeValue;
2932

3033
/** HttpClients generates Google Http Client objects from configuration. */
3134
public class HttpClients {
@@ -36,11 +39,24 @@ public class HttpClients {
3639
* you need to also configure the response parser}.
3740
*/
3841
public static HttpTransport newHttpTransport(HttpParams httpParams) {
39-
HttpClientBuilder hcb = ApacheHttpTransport.newDefaultHttpClientBuilder();
4042
if (httpParams.getAllowInsecureConnections()) {
41-
hcb.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE);
43+
var connManager =
44+
PoolingHttpClientConnectionManagerBuilder.create()
45+
.setSSLSocketFactory(
46+
SSLConnectionSocketFactoryBuilder.create()
47+
.setHostnameVerifier(NoopHostnameVerifier.INSTANCE)
48+
.build())
49+
.setMaxConnTotal(200)
50+
.setMaxConnPerRoute(20)
51+
.setDefaultConnectionConfig(
52+
ConnectionConfig.custom().setTimeToLive(TimeValue.NEG_ONE_MILLISECOND).build())
53+
.build();
54+
return new Apache5HttpTransport(
55+
Apache5HttpTransport.newDefaultHttpClientBuilder()
56+
.setConnectionManager(connManager)
57+
.build());
4258
}
43-
return new ApacheHttpTransport(hcb.build());
59+
return new Apache5HttpTransport(Apache5HttpTransport.newDefaultHttpClientBuilder().build());
4460
}
4561

4662
/** Create a new get requests with the httpParams applied and retries. */

0 commit comments

Comments
 (0)