1616import hudson .ProxyConfiguration ;
1717import hudson .init .InitMilestone ;
1818import hudson .init .Initializer ;
19- import jakarta .ws .rs .client .ClientBuilder ;
2019import jenkins .model .Jenkins ;
2120import org .apache .commons .io .IOUtils ;
2221import org .apache .commons .lang .StringUtils ;
2726import org .apache .http .impl .client .DefaultHttpClient ;
2827import org .jboss .resteasy .client .jaxrs .ClientHttpEngine ;
2928import org .jboss .resteasy .client .jaxrs .ResteasyClientBuilder .HostnameVerificationPolicy ;
29+ import org .jboss .resteasy .client .jaxrs .ResteasyWebTarget ;
3030import org .jboss .resteasy .client .jaxrs .engines .ApacheHttpClient43Engine ;
3131import org .jboss .resteasy .client .jaxrs .internal .ResteasyClientBuilderImpl ;
32+ import org .jboss .resteasy .client .jaxrs .internal .proxy .ProxyBuilderImpl ;
3233import org .jboss .resteasy .core .providerfactory .ResteasyProviderFactoryImpl ;
3334import org .jboss .resteasy .plugins .providers .JaxrsFormProvider ;
3435import org .kohsuke .accmod .Restricted ;
@@ -92,7 +93,7 @@ public final GiteeClient buildClient(String url, String apiToken, boolean ignore
9293 }
9394
9495 private GiteeClient buildClient (String url , String apiToken , ProxyConfiguration httpProxyConfig , boolean ignoreCertificateErrors , int connectionTimeout , int readTimeout ) {
95- ResteasyClientBuilder builder = ( ResteasyClientBuilder ) ClientBuilder . newBuilder ();
96+ ResteasyClientBuilder builder = new ResteasyClientBuilder ();
9697
9798 if (ignoreCertificateErrors ) {
9899 builder .hostnameVerification (HostnameVerificationPolicy .ANY );
@@ -111,7 +112,7 @@ private GiteeClient buildClient(String url, String apiToken, ProxyConfiguration
111112 }
112113 }
113114
114- GiteeApiProxy apiProxy = builder
115+ ResteasyWebTarget target = builder
115116 .connectionPoolSize (60 )
116117 .maxPooledPerRoute (30 )
117118 .connectTimeout (connectionTimeout , TimeUnit .SECONDS )
@@ -122,8 +123,10 @@ private GiteeClient buildClient(String url, String apiToken, ProxyConfiguration
122123 .register (new LoggingFilter ())
123124 .register (new RemoveAcceptEncodingFilter ())
124125 .register (new JaxrsFormProvider ())
125- .build ().target (url )
126- .proxyBuilder (apiProxyClass )
126+ .build ().target (url );
127+
128+ // workaround for https://github.com/orgs/resteasy/discussions/4538 when using ResteasyWebTarget#proxyBuilder
129+ GiteeApiProxy apiProxy = new ProxyBuilderImpl <>(apiProxyClass , target )
127130 .classloader (apiProxyClass .getClassLoader ())
128131 .build ();
129132
0 commit comments