Beispiel #1
0
 /** Sends an error to the user with the given {@code status} and body. */
 public static void sendError(HttpServletResponse response, String body, int status)
     throws IOException {
   Preconditions.checkArgument(status > 300);
   response.setStatus(status);
   response.setHeader(HttpHeaders.CONTENT_TYPE, "text/plain");
   response.getWriter().write(Escaper.escapeHtml(body));
 }
Beispiel #2
0
  public void testBuilderCreatesIndependentEscapers() {
    // Setup a simple builder and create the first escaper.
    Escapers.Builder builder = Escapers.builder();
    builder.setSafeRange('a', 'z');
    builder.setUnsafeReplacement("X");
    builder.addEscape(' ', "_");
    Escaper first = builder.build();
    // Modify one of the existing mappings before creating a new escaper.
    builder.addEscape(' ', "-");
    builder.addEscape('!', "$");
    Escaper second = builder.build();
    // This should have no effect on existing escapers.
    builder.addEscape(' ', "*");

    // Test both escapers after modifying the builder.
    assertEquals("Xhe_Xuick_Xrown_XoxX", first.escape("The Quick Brown Fox!"));
    assertEquals("Xhe-Xuick-Xrown-Xox$", second.escape("The Quick Brown Fox!"));
  }
 @Override
 protected void toString(Appendable sb, Escaper escaper) throws IOException {
   if (isString()) {
     sb.append('"');
     sb.append(escaper.escapeJsonString(value.toString()));
     sb.append('"');
   } else {
     sb.append(value.toString());
   }
 }
 public void testAddEscapes() {
   char[] cs = {'a', 'b', 'c'};
   CharEscaperBuilder builder = new CharEscaperBuilder().addEscapes(cs, "Z");
   Escaper escaper = builder.toEscaper();
   assertEquals("ZZZdef", escaper.escape("abcdef"));
 }
Beispiel #5
0
 public void testBuilderInitialStateNoneUnsafe() {
   // No characters are unsafe by default (safeMin == 0, safeMax == 0xFFFF).
   Escaper escaper = Escapers.builder().setUnsafeReplacement("X").build();
   assertEquals("\0\uFFFF", escaper.escape("\0\uFFFF"));
 }
Beispiel #6
0
 public void testBuilderInitialStateNoReplacement() {
   // Unsafe characters aren't modified by default (unsafeReplacement == null).
   Escaper escaper = Escapers.builder().setSafeRange('a', 'z').build();
   assertEquals("The Quick Brown Fox", escaper.escape("The Quick Brown Fox"));
 }
Beispiel #7
0
 public void testNullEscaper() throws IOException {
   Escaper escaper = Escapers.nullEscaper();
   EscaperAsserts.assertBasic(escaper);
   String s = "\0\n\t\\az09~\uD800\uDC00\uFFFF";
   assertEquals("null escaper should have no effect", s, escaper.escape(s));
 }