X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FJavascriptFilter.java;h=4c64f9692358da2e3d320dd58ac78f235dfad2b7;hp=f852202c31c9bbcf2556e4a7f4da35181480c0b6;hb=62573c314957b1851f4fbe693b8746686caa940a;hpb=ecf753a31601e558b681daab0598009fe9eec99a diff --git a/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java b/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java index f852202..4c64f96 100644 --- a/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java +++ b/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java @@ -1,5 +1,5 @@ /* - * Sone - JavascriptFilter.java - Copyright © 2011 David Roden + * Sone - JavascriptFilter.java - Copyright © 2011–2016 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,16 +19,15 @@ package net.pterodactylus.sone.template; import java.util.Map; -import net.pterodactylus.util.number.Hex; import net.pterodactylus.util.template.Filter; import net.pterodactylus.util.template.TemplateContext; +import com.google.common.io.BaseEncoding; + /** * Escapes double quotes, backslashes, carriage returns and line feeds, and * additionally encloses a given string with double quotes to make it possible * to use a string in Javascript. - * - * @author David ‘Bombe’ Roden */ public class JavascriptFilter implements Filter { @@ -36,7 +35,7 @@ public class JavascriptFilter implements Filter { * {@inheritDoc} */ @Override - public Object format(TemplateContext templateContext, Object data, Map parameters) { + public Object format(TemplateContext templateContext, Object data, Map parameters) { StringBuilder javascriptString = new StringBuilder(); javascriptString.append('"'); for (char c : String.valueOf(data).toCharArray()) { @@ -56,7 +55,7 @@ public class JavascriptFilter implements Filter { javascriptString.append('\\'); javascriptString.append(c); } else if (c < 32) { - javascriptString.append("\\x").append(Hex.toHex((byte) c)); + javascriptString.append("\\x").append(BaseEncoding.base16().lowerCase().encode(new byte[] { (byte) c })); } else { javascriptString.append(c); }