diff options
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets')
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java | 4 | ||||
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java | 22 |
2 files changed, 20 insertions, 6 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java index 1d2ab14e..d1345eef 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java @@ -336,6 +336,10 @@ public class ExternSignServlet extends HttpServlet { String locale = PdfAsParameterExtractor.getLocale(request); PdfAsHelper.setLocale(request, response, locale); + String responseMode = PdfAsParameterExtractor.getResonseMode(request); + PdfAsHelper.setResponseMode(request, response, responseMode); + + //read and set placholder web id String placeholder_id = PdfAsParameterExtractor.getPlaceholderId(request); PlaceholderWebConfiguration.setValue(IConfigurationConstants.PLACEHOLDER_WEB_ID, placeholder_id); 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(); |