示例#1
0
  @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);
  }
示例#2
0
 @Override
 public String toString() {
   return file.getName() + ": " + Str.getRootCauseMessage(exception);
 }