Skip to content

Commit 2487aa3

Browse files
committed
Content-Length header should not be set to the GET verb.
Calling the execute HttpClient method with GET without a body incorrectly sends the Content-Length header. Issue: 202823 (cherry picked from commit 30da235)
1 parent 3ab518f commit 2487aa3

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

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

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -471,16 +471,26 @@ public void execute(String method, String url) {
471471

472472
try (CloseableHttpClient httpClient = this.httpClientBuilder.build()) {
473473
if (method.equalsIgnoreCase("GET")) {
474-
HttpGetWithBody httpget = new HttpGetWithBody(url.trim());
475-
httpget.setConfig(reqConfig);
476-
Set<String> keys = getheadersToSend().keySet();
477-
for (String header : keys) {
478-
httpget.addHeader(header, getheadersToSend().get(header));
474+
byte[] data = getData();
475+
if (data.length > 0) {
476+
HttpGetWithBody httpGetWithBody = new HttpGetWithBody(url.trim());
477+
httpGetWithBody.setConfig(reqConfig);
478+
Set<String> keys = getheadersToSend().keySet();
479+
for (String header : keys) {
480+
httpGetWithBody.addHeader(header, getheadersToSend().get(header));
481+
}
482+
httpGetWithBody.setEntity(new ByteArrayEntity(data));
483+
response = httpClient.execute(httpGetWithBody, httpClientContext);
484+
}
485+
else {
486+
HttpGet httpget = new HttpGet(url.trim());
487+
httpget.setConfig(reqConfig);
488+
Set<String> keys = getheadersToSend().keySet();
489+
for (String header : keys) {
490+
httpget.addHeader(header, getheadersToSend().get(header));
491+
}
492+
response = httpClient.execute(httpget, httpClientContext);
479493
}
480-
481-
httpget.setEntity(new ByteArrayEntity(getData()));
482-
483-
response = httpClient.execute(httpget, httpClientContext);
484494

485495
} else if (method.equalsIgnoreCase("POST")) {
486496
HttpPost httpPost = new HttpPost(url.trim());

0 commit comments

Comments
 (0)