Skip to content

Commit e7b100e

Browse files
author
a-panizza_globant
committed
- Add Header paramter methods for API Objects.
1 parent b3fb2b9 commit e7b100e

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

java/src/main/java/com/genexus/internet/GXRestAPIClient.java

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class GXRestAPIClient {
3939
private JSONObject jsonResponse;
4040
private HashMap<String, String> queryVars = new HashMap<String, String>();
4141
private HashMap<String, String> bodyVars = new HashMap<String, String>();
42+
private HashMap<String, String> headerVars = new HashMap<String, String>();
4243
private HashMap<String, String> responseData = new HashMap<String, String>();
4344

4445
static final String DATE_FMT = "yyyy-MM-dd";
@@ -183,6 +184,71 @@ private String quoteString(String value) {
183184
return "\"" + value + "\"";
184185
}
185186

187+
/// Add Header parameters
188+
189+
public <T extends GXXMLSerializable> void addHeaderVar(String varName, GXBaseCollection<T> varValue) {
190+
if ( varValue != null) {
191+
headerVars.put(varName, varValue.toJSonString(false));
192+
}
193+
}
194+
195+
public void addHeaderVar(String varName, GXXMLSerializable varValue) {
196+
if ( varValue != null) {
197+
headerVars.put(varName, varValue.toJSonString(false));
198+
}
199+
}
200+
201+
public void addHeaderVar(String varName, String varValue) {
202+
headerVars.put( varName, quoteString(varValue));
203+
}
204+
205+
public void addHeaderVar(String varName, double varValue) {
206+
headerVars.put(varName, quoteString(Double.toString(varValue)));
207+
}
208+
209+
public void addHeaderVar(String varName, Date varValue) {
210+
SimpleDateFormat df = new SimpleDateFormat(DATE_FMT);
211+
headerVars.put(varName, quoteString(df.format(varValue)));
212+
}
213+
214+
public void addHeaderVar(String varName, Date varValue, boolean hasMilliseconds) {
215+
String fmt = DATETIME_FMT;
216+
if (hasMilliseconds)
217+
fmt = DATETIME_FMT_MS;
218+
SimpleDateFormat df = new SimpleDateFormat(fmt);
219+
headerVars.put( varName, quoteString(df.format(varValue)));
220+
}
221+
222+
public void addHeaderVar(String varName, short varValue) {
223+
headerVars.put( varName, Short.toString(varValue));
224+
}
225+
226+
public void addHeaderVar(String varName, int varValue) {
227+
headerVars.put( varName, Integer.toString(varValue));
228+
}
229+
230+
public void addHeaderVar(String varName, long varValue) {
231+
headerVars.put( varName, Long.toString(varValue));
232+
}
233+
234+
public void addHeaderVar(String varName, Boolean varValue) {
235+
headerVars.put( varName, varValue.toString());
236+
}
237+
238+
public void addHeaderVar(String varName, BigDecimal varValue) {
239+
headerVars.put( varName, varValue.toString());
240+
}
241+
242+
public void addHeaderVar(String varName, java.util.UUID varValue) {
243+
headerVars.put( varName, quoteString(varValue.toString()));
244+
}
245+
246+
public void addHeaderVar(String varName, IGxJSONSerializable varValue) {
247+
headerVars.put( varName, quoteString(varValue.toJSonString()));
248+
}
249+
250+
///
251+
186252
public <T extends GXXMLSerializable> void addBodyVar(String varName, GXBaseCollection<T> varValue) {
187253
if ( varValue != null) {
188254
bodyVars.put(varName, varValue.toJSonString(false));
@@ -411,6 +477,7 @@ public <T extends GXXMLSerializable> GXBaseCollection<T> getBodyObjCollection(St
411477
fillCollection(varName, elementClass, col);
412478
return col;
413479
}
480+
414481
private <T extends GXXMLSerializable> void fillCollection(String varName, Class<T> elementClass, GXBaseCollection col) {
415482
JSONArray jsonarr = new JSONArray();
416483
try {
@@ -508,6 +575,13 @@ public void RestExecute() {
508575
if (location.getAuthenticationMethod() == 4 && location.getAccessToken() != null && ! location.getAccessToken().trim().isEmpty()) {
509576
httpClient.addHeader("Authorization", location.getAccessToken());
510577
}
578+
if (headerVars.size() > 0) {
579+
separator = "";
580+
for( Map.Entry<String, String> entry : headerVars.entrySet()) {
581+
httpClient.addHeader(entry.getKey(), entry.getValue());
582+
}
583+
}
584+
headerVars.clear();
511585
String serviceuri = ((location.getSecure() > 0) ? "https" : "http") + "://" + location.getHost();
512586
serviceuri += (location.getPort() != 80) ? ":" + Integer.toString(location.getPort()): "";
513587
serviceuri += "/" + location.getBaseURL() + "/" + location.getResourceName();

0 commit comments

Comments
 (0)