@Override protected void onRequest(RequestWrapper<WebSession> req) throws IOException { req.setRequestEncoding(IO.UTF_8); String projectId = req.get("projectId"); String entityId = req.get("entityId"); String text = req.get("text"); String name = Str.cutRight(req.get("name"), 33); if (Str.isBlank(name)) name = null; String email = Str.cutRight(req.get("email"), 33); if (Str.isBlank(email)) email = null; log.info("Comment from the internets"); log.info(" projectId: " + projectId); log.info(" entityId: " + entityId); log.info(" name: " + name); log.info(" email: " + email); log.info(" text: " + text); log.info(" Request-Data:"); log.info(Servlet.toString(req.getHttpRequest(), " ")); String message; try { SpamChecker.check(req); message = postComment(projectId, entityId, text, name, email); } catch (Throwable ex) { log.error("Posting comment failed.", "\n" + Servlet.toString(req.getHttpRequest(), " "), ex); message = "<h2>Failure</h2><p>Posting your comment failed: <strong>" + Str.getRootCauseMessage(ex) + "</strong></p><p>We are sorry, please try again later.</p>"; } String returnUrl = req.get("returnUrl"); if (returnUrl == null) returnUrl = "http://kunagi.org/message.html?#{message}"; returnUrl = returnUrl.replace("{message}", Str.encodeUrlParameter(message)); req.sendRedirect(returnUrl); }
@Override public String toString() { return file.getName() + ": " + Str.getRootCauseMessage(exception); }