Mercury-IM/domain/src/main/java/org/jivesoftware/smackx/ikey/util/canonicalization/ElementCanonicalizer.java

26 lines
896 B
Java
Raw Normal View History

2020-09-02 16:40:36 +02:00
package org.jivesoftware.smackx.ikey.util.canonicalization;
import org.apache.xml.security.c14n.CanonicalizationException;
import org.apache.xml.security.parser.XMLParserException;
import org.jivesoftware.smack.packet.Element;
import java.io.IOException;
public interface ElementCanonicalizer {
default byte[] canonicalize(Element e) throws XMLParserException, IOException, CanonicalizationException {
String xml = e.toXML().toString();
return canonicalize(xml);
}
default byte[] canonicalize(CharSequence xml) throws XMLParserException, IOException, CanonicalizationException {
return canonicalize(xml.toString().getBytes());
}
byte[] canonicalize(byte[] xml) throws XMLParserException, IOException, CanonicalizationException;
2020-09-02 16:40:36 +02:00
default String removeInterElementWhitespace(String xml) {
return xml.replaceAll(">\\s*<", "><");
}
}