-
Notifications
You must be signed in to change notification settings - Fork 0
/
ApacheHttpJenkinsClient.java
65 lines (54 loc) · 2.1 KB
/
ApacheHttpJenkinsClient.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.chavaillaz.client.jenkins.apache;
import com.chavaillaz.client.common.apache.ApacheHttpUtils;
import com.chavaillaz.client.jenkins.AbstractJenkinsClient;
import com.chavaillaz.client.jenkins.JenkinsClient;
import com.chavaillaz.client.jenkins.api.JobApi;
import com.chavaillaz.client.jenkins.api.PipelineApi;
import com.chavaillaz.client.jenkins.api.PluginApi;
import com.chavaillaz.client.jenkins.api.QueueApi;
import com.chavaillaz.client.jenkins.api.SystemApi;
import com.chavaillaz.client.jenkins.api.UserApi;
import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient;
/**
* Implementation of {@link JenkinsClient} for Apache HTTP.
*/
public class ApacheHttpJenkinsClient extends AbstractJenkinsClient<CloseableHttpAsyncClient> {
/**
* Creates a new {@link JenkinsClient} with Apache HTTP client.
*
* @param jenkinsUrl The Jenkins URL
*/
public ApacheHttpJenkinsClient(String jenkinsUrl) {
super(jenkinsUrl);
}
@Override
public CloseableHttpAsyncClient newHttpClient() {
return ApacheHttpUtils.defaultHttpClientBuilder(proxy)
.disableRedirectHandling()
.build();
}
@Override
public JobApi getJobApi() {
return jobApi.get(() -> new ApacheHttpJobApi(newHttpClient(), baseUrl, authentication));
}
@Override
public PipelineApi getPipelineApi() {
return pipelineApi.get(() -> new ApacheHttpPipelineApi(newHttpClient(), baseUrl, authentication));
}
@Override
public PluginApi getPluginApi() {
return pluginApi.get(() -> new ApacheHttpPluginApi(newHttpClient(), baseUrl, authentication));
}
@Override
public QueueApi getQueueApi() {
return queueApi.get(() -> new ApacheHttpQueueApi(newHttpClient(), baseUrl, authentication));
}
@Override
public SystemApi getSystemApi() {
return systemApi.get(() -> new ApacheHttpSystemApi(newHttpClient(), baseUrl, authentication));
}
@Override
public UserApi getUserApi() {
return userApi.get(() -> new ApacheHttpUserApi(newHttpClient(), baseUrl, authentication));
}
}