Skip to content

Commit ceef5d3

Browse files
committed
Functions CDC
1 parent ad0e9d7 commit ceef5d3

File tree

58 files changed

+3500
-1032
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+3500
-1032
lines changed

astra-sdk-devops/pom.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@
4444
<artifactId>junit-platform-runner</artifactId>
4545
<scope>test</scope>
4646
</dependency>
47+
<dependency>
48+
<groupId>org.slf4j</groupId>
49+
<artifactId>slf4j-api</artifactId>
50+
</dependency>
51+
<dependency>
52+
<groupId>ch.qos.logback</groupId>
53+
<artifactId>logback-classic</artifactId>
54+
</dependency>
55+
4756
</dependencies>
4857

4958
</project>

astra-sdk-devops/src/main/java/com/dtsx/astra/sdk/HttpClientWrapper.java

Lines changed: 95 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@
2525
import java.util.Map;
2626

2727
/**
28-
* Wrapping the HttpClient and provide helpers
29-
*
30-
* @author Cedrick LUNVEN (@clunven)
28+
* Helper to forge Http Requests to interact with Devops API.
3129
*/
3230
public class HttpClientWrapper {
3331

@@ -61,6 +59,12 @@ public class HttpClientWrapper {
6159
/** Headers param to insert the user agent identifying the client. */
6260
private static final String HEADER_REQUESTED_WITH = "X-Requested-With";
6361

62+
/** Current organization identifier. */
63+
private static final String HEADER_CURRENT_ORG = "X-DataStax-Current-Org";
64+
65+
/** Current pulsar cluster. */
66+
private static final String HEADER_CURRENT_PULSAR_CLUSTER = "X-DataStax-Pulsar-Cluster";
67+
6468
/** Singleton pattern. */
6569
private static HttpClientWrapper _instance = null;
6670

@@ -121,6 +125,88 @@ public ApiResponseHttp GET(String url, String token) {
121125
return executeHttp(Method.GET, url, token, null, CONTENT_TYPE_JSON, false);
122126
}
123127

128+
/**
129+
* Helper to build the HTTP request.
130+
*
131+
* @param url
132+
* target url
133+
* @param token
134+
* authentication token
135+
* @param pulsarCluster
136+
* pulsar cluster
137+
* @param organizationId
138+
* organization identifier
139+
* @return
140+
* http request
141+
*/
142+
public ApiResponseHttp GET_PULSAR(String url, String token, String pulsarCluster, String organizationId) {
143+
HttpUriRequestBase request = buildRequest(Method.GET, url, token, null, CONTENT_TYPE_JSON);
144+
updatePulsarHttpRequest(request, token, pulsarCluster, organizationId);
145+
return executeHttp(request, false);
146+
}
147+
148+
/**
149+
* Helper to build the HTTP request.
150+
*
151+
* @param url
152+
* target url
153+
* @param token
154+
* authentication token
155+
* @param body
156+
* request body
157+
* @param pulsarCluster
158+
* pulsar cluster
159+
* @param organizationId
160+
* organization identifier
161+
* @return
162+
* http request
163+
*/
164+
public ApiResponseHttp POST_PULSAR(String url, String token, String body, String pulsarCluster, String organizationId) {
165+
HttpUriRequestBase request = buildRequest(Method.POST, url, token, body, CONTENT_TYPE_JSON);
166+
updatePulsarHttpRequest(request, token, pulsarCluster, organizationId);
167+
return executeHttp(request, false);
168+
}
169+
170+
/**
171+
* Helper to build the HTTP request.
172+
*
173+
* @param url
174+
* target url
175+
* @param token
176+
* authentication token
177+
* @param body
178+
* request body
179+
* @param pulsarCluster
180+
* pulsar cluster
181+
* @param organizationId
182+
* organization identifier
183+
* @return
184+
* http request
185+
*/
186+
public ApiResponseHttp DELETE_PULSAR(String url, String token, String body, String pulsarCluster, String organizationId) {
187+
HttpUriRequestBase request = buildRequest(Method.DELETE, url, token, body, CONTENT_TYPE_JSON);
188+
updatePulsarHttpRequest(request, token, pulsarCluster, organizationId);
189+
return executeHttp(request, false);
190+
}
191+
192+
/**
193+
* Add item for a pulsar request.
194+
*
195+
* @param request
196+
* current request
197+
* @param pulsarToken
198+
* pulsar token
199+
* @param pulsarCluster
200+
* pulsar cluster
201+
* @param organizationId
202+
* organization
203+
*/
204+
private void updatePulsarHttpRequest(HttpUriRequestBase request, String pulsarToken, String pulsarCluster, String organizationId) {
205+
request.addHeader(HEADER_AUTHORIZATION, pulsarToken);
206+
request.addHeader(HEADER_CURRENT_ORG, organizationId);
207+
request.addHeader(HEADER_CURRENT_PULSAR_CLUSTER, pulsarCluster);
208+
}
209+
124210
/**
125211
* Helper to build the HTTP request.
126212
*
@@ -172,11 +258,9 @@ public ApiResponseHttp POST(String url, String token, String body) {
172258
* target url
173259
* @param token
174260
* authentication token
175-
* @return
176-
* http request
177261
*/
178-
public ApiResponseHttp DELETE(String url, String token) {
179-
return executeHttp(Method.DELETE, url, token, null, CONTENT_TYPE_JSON, true);
262+
public void DELETE(String url, String token) {
263+
executeHttp(Method.DELETE, url, token, null, CONTENT_TYPE_JSON, true);
180264
}
181265

182266
/**
@@ -187,12 +271,10 @@ public ApiResponseHttp DELETE(String url, String token) {
187271
* @param token
188272
* authentication token
189273
* @param body
190-
* request body
191-
* @return
192-
* http request
274+
* request body
193275
*/
194-
public ApiResponseHttp PUT(String url, String token, String body) {
195-
return executeHttp(Method.PUT, url, token, body, CONTENT_TYPE_JSON, false);
276+
public void PUT(String url, String token, String body) {
277+
executeHttp(Method.PUT, url, token, body, CONTENT_TYPE_JSON, false);
196278
}
197279

198280
/**
@@ -241,9 +323,7 @@ public ApiResponseHttp executeHttp(HttpUriRequestBase req, boolean mandatory) {
241323
EntityUtils.consume(response.getEntity());
242324
}
243325
Map<String, String > headers = new HashMap<>();
244-
Arrays.asList(response.getHeaders())
245-
.stream()
246-
.forEach(h -> headers.put(h.getName(), h.getValue()));
326+
Arrays.stream(response.getHeaders()).forEach(h -> headers.put(h.getName(), h.getValue()));
247327
res = new ApiResponseHttp(body, response.getCode(), headers);
248328
}
249329

0 commit comments

Comments
 (0)