diff options
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.java | 46 |
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); + } + } +} |