From ab7b4927a5790764afa0dc2076d3fad2ac293c61 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 6 Dec 2018 15:22:06 +0100 Subject: add 'direct' mode to provide signed PDF documents --- .../egiz/pdfas/web/servlets/ProvidePDFServlet.java | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java') diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java index 815d532e..7262586d 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java @@ -27,6 +27,7 @@ import java.io.IOException; import java.net.URL; import java.net.URLEncoder; +import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -90,12 +91,21 @@ public class ProvidePDFServlet extends HttpServlet { logger.warn(invokeURL + " is not allowed by whitelist"); } - String template = PdfAsHelper.getProvideTemplate(); - template = template.replace(PDF_DATA_URL, PdfAsHelper.generatePdfURL(request, response)); - // Deliver to Browser directly! - response.setContentType("text/html"); - response.getWriter().write(template); - response.getWriter().close(); + if (PdfAsHelper.getResponseMode(request, response).equals(PdfAsHelper.PDF_RESPONSE_MODES.htmlform)) { + String template = PdfAsHelper.getProvideTemplate(); + template = template.replace(PDF_DATA_URL, PdfAsHelper.generatePdfURL(request, response)); + // Deliver to Browser directly! + response.setContentType("text/html"); + response.getWriter().write(template); + response.getWriter().close(); + + } else { + logger.debug("PDFResult directMode: Forward to PDFData Servlet directly"); + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/PDFData"); + dispatcher.forward(request, response); + + } + } else { // Redirect Browser String template = PdfAsHelper.getInvokeRedirectTemplateSL(); -- cgit v1.2.3