aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java
new file mode 100644
index 00000000..7c90dbc8
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java
@@ -0,0 +1,30 @@
+package at.gv.egiz.pdfas.web.helper;
+
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import at.gv.egiz.pdfas.common.utils.StreamUtils;
+import at.gv.egiz.pdfas.web.exception.PdfAsWebException;
+
+public class RemotePDFFetcher {
+
+ public static byte[] fetchPdfFile(String pdfURL) throws PdfAsWebException {
+ URL url;
+ try {
+ url = new URL(pdfURL);
+ } catch (MalformedURLException e) {
+ throw new PdfAsWebException("Not a valid URL!", e);
+ }
+ if(url.getProtocol().equals("http") || url.getProtocol().equals("https")) {
+ try {
+ InputStream is = url.openStream();
+ return StreamUtils.inputStreamToByteArray(is);
+ } catch (Exception e) {
+ throw new PdfAsWebException("Failed to fetch pdf document!", e);
+ }
+ } else {
+ throw new PdfAsWebException("Failed to fetch pdf document protocol " + url.getProtocol() + " is not supported");
+ }
+ }
+}