aboutsummaryrefslogtreecommitdiff
path: root/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/Provider.java
diff options
context:
space:
mode:
Diffstat (limited to 'simpleSigning/src/main/java/at/gv/egiz/simpleSigning/Provider.java')
-rw-r--r--simpleSigning/src/main/java/at/gv/egiz/simpleSigning/Provider.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/Provider.java b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/Provider.java
new file mode 100644
index 0000000..7cde301
--- /dev/null
+++ b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/Provider.java
@@ -0,0 +1,46 @@
+package at.gv.egiz.simpleSigning;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egiz.simpleSigning.helper.SessionHelper;
+
+@WebServlet("/Provide")
+public class Provider extends HttpServlet {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 7338000172211889255L;
+
+ private static final Logger logger = LoggerFactory
+ .getLogger(Provider.class);
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+ try {
+ byte[] data = SessionHelper.getDocument(req);
+ if (data == null) {
+ resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ resp.setContentLength(0);
+ return;
+ }
+
+ resp.setContentType("application/pdf");
+ OutputStream os = resp.getOutputStream();
+ os.write(data);
+ os.close();
+ } catch (Throwable e) {
+ logger.error("Provide failed!", e);
+ }
+ }
+}