X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FJavascriptFilter.java;h=8dd2b044e5b6c9f5c8279ef030fd964112cdd6ce;hb=c6c4802b4e389b4457adf0827efafca1cd7d1e9c;hp=966b81f427ec8c26c254aa67f14effb5abf5348f;hpb=a47643aed43d118ca68044f95451bb5374cdb332;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java b/src/main/java/net/pterodactylus/sone/template/JavascriptFilter.java
index 966b81f..8dd2b04 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â2012 David Roden
+ * Sone - JavascriptFilter.java - Copyright © 2011â2019 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);
}