Skip to content

Commit f12d61b

Browse files
authored
The User Agent Header property is implemented (#1030)
Issue: 206488
1 parent 1c258a4 commit f12d61b

File tree

6 files changed

+24
-14
lines changed

6 files changed

+24
-14
lines changed

java/src/main/java/com/genexus/GXutil.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
import com.genexus.common.interfaces.SpecificImplementation;
1111
import com.genexus.db.DataStoreProvider;
1212
import com.genexus.db.GXEmbedding;
13+
import com.genexus.internet.HttpClient;
1314
import com.genexus.internet.HttpContext;
1415
import com.genexus.internet.StringCollection;
1516
import com.genexus.platform.INativeFunctions;
1617
import com.genexus.platform.NativeFunctions;
1718
import com.genexus.util.*;
1819

20+
import org.apache.commons.io.IOUtils;
1921
import org.json.JSONObject;
2022
import org.apache.commons.lang3.StringUtils;
2123

@@ -1782,4 +1784,11 @@ public static String embeddingToStr(GXEmbedding embedding) {
17821784
return embedding.toString();
17831785
}
17841786

1787+
public static byte[] ImageUrlToBytes(String url) throws IOException{
1788+
HttpClient httpClient = new HttpClient();
1789+
httpClient.execute( "GET", url);
1790+
try (InputStream in = httpClient.getInputStream()) {
1791+
return IOUtils.toByteArray(in);
1792+
}
1793+
}
17851794
}

java/src/main/java/com/genexus/db/driver/GXPreparedStatement.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1391,10 +1391,10 @@ public void setBLOBFile(int index, String fileName, boolean isMultiMedia) throws
13911391
int queryIndex = fileName.lastIndexOf('?');
13921392
if (queryIndex > -1)
13931393
fileName = fileName.substring(0, queryIndex + 1) + PrivateUtilities.encodeURL(fileName.substring(queryIndex + 1));
1394-
URL fileURL = new URL(fileName);
1394+
String fileURL = fileName;
13951395
String blobPath = com.genexus.Preferences.getDefaultPreferences().getBLOB_PATH();
13961396
fileName = com.genexus.PrivateUtilities.getTempFileName(blobPath, CommonUtil.getFileName(fileName), CommonUtil.getFileType(fileName), true);
1397-
com.genexus.PrivateUtilities.InputStreamToFile(fileURL.openStream() ,fileName);
1397+
new com.genexus.util.GXFile(fileName).fromBytes(GXutil.ImageUrlToBytes(fileURL));
13981398
}
13991399
}
14001400
catch(MalformedURLException e)

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ public HttpClientJavaLib() {
9393
if (isFirstIpDnsEnabled()) {
9494
builder.setDnsResolver(FIRST_IP_DNS_RESOLVER);
9595
}
96+
String userAgent = clientCfg.getProperty("Client", "UserAgentHeader", "");
97+
if (!userAgent.isEmpty()) {
98+
builder.setUserAgent(userAgent);
99+
}
96100
httpClientBuilder = builder;
97101
cookies = new BasicCookieStore();
98102
streamsToClose = new Vector<>();

java/src/main/java/com/genexus/reports/PDFReportItext2.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import com.genexus.ApplicationContext;
1111
import com.genexus.CommonUtil;
12+
import com.genexus.GXutil;
1213
import com.genexus.ModelContext;
1314
import com.genexus.platform.NativeFunctions;
1415
import com.genexus.webpanels.HttpContextWeb;
@@ -396,9 +397,8 @@ public void GxDrawBitMap(String bitmap, int left, int top, int right, int bottom
396397
}
397398
}
398399
}
399-
catch(java.lang.IllegalArgumentException ex) {//Puede ser una url absoluta
400-
java.net.URL url= new java.net.URL(bitmap);
401-
image = com.lowagie.text.Image.getInstance(url);
400+
catch(java.lang.IllegalArgumentException | IOException ex) {//Puede ser una url absoluta
401+
image = com.lowagie.text.Image.getInstance(GXutil.ImageUrlToBytes(bitmap));
402402
}
403403

404404
if (documentImages == null) {
@@ -443,9 +443,6 @@ public void GxDrawBitMap(String bitmap, int left, int top, int right, int bottom
443443
catch(DocumentException de) {
444444
log.error("GxDrawBitMap failed:", de);
445445
}
446-
catch(IOException ioe) {
447-
log.error("GxDrawBitMap failed:", ioe);
448-
}
449446
catch(Exception e) {
450447
log.error("GxDrawBitMap failed:", e);
451448
}

java/src/main/java/com/genexus/reports/PDFReportItext8.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.genexus.ApplicationContext;
44
import com.genexus.CommonUtil;
5+
import com.genexus.GXutil;
56
import com.genexus.ModelContext;
67
import com.genexus.platform.NativeFunctions;
78
import com.genexus.reports.fonts.PDFFont;
@@ -425,9 +426,8 @@ public void GxDrawBitMap(String bitmap, int left, int top, int right, int bottom
425426
}
426427
}
427428
}
428-
catch(java.lang.IllegalArgumentException ex) {
429-
URL url= new java.net.URL(bitmap);
430-
imageData = ImageDataFactory.create(url);
429+
catch(java.lang.IllegalArgumentException | com.itextpdf.io.exceptions.IOException ex) {
430+
imageData = ImageDataFactory.create(GXutil.ImageUrlToBytes(bitmap));
431431
}
432432

433433
if (documentImages == null) {

java/src/main/java/com/genexus/reports/PDFReportPDFBox.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import com.genexus.ApplicationContext;
1111
import com.genexus.CommonUtil;
12+
import com.genexus.GXutil;
1213
import com.genexus.ModelContext;
1314
import com.genexus.platform.NativeFunctions;
1415
import com.genexus.webpanels.HttpContextWeb;
@@ -377,9 +378,8 @@ public void GxDrawBitMap(String bitmap, int left, int top, int right, int bottom
377378
}
378379
}
379380
}
380-
catch(java.lang.IllegalArgumentException ex) {
381-
URL url= new java.net.URL(bitmap);
382-
image = PDImageXObject.createFromByteArray(document, IOUtils.toByteArray(url.openStream()),bitmap);
381+
catch(java.lang.IllegalArgumentException | java.io.FileNotFoundException ex) {
382+
image = PDImageXObject.createFromByteArray(document, GXutil.ImageUrlToBytes(bitmap),bitmap);
383383
}
384384

385385
if (documentImages == null) {

0 commit comments

Comments
 (0)