public class BasicURLCanonicalizer extends java.lang.Object implements URLCanonicalizer
This class differs from google in treatment of non-ascii input. Google's rules don't really address this except with one example test case, which seems to suggest taking raw input bytes and pct-encoding them byte for byte. Since the input to this class consists of java strings, not raw bytes, that wouldn't be possible, even if deemed preferable. Instead BasicURLCanonicalizer expresses non-ascii characters pct-encoded UTF-8.
| Modifier and Type | Field and Description |
|---|---|
protected static java.nio.charset.Charset |
_UTF8 |
| Constructor and Description |
|---|
BasicURLCanonicalizer() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
attemptIPFormats(java.lang.String host) |
void |
canonicalize(HandyURL url) |
java.lang.String |
decode(java.lang.String input) |
java.lang.String |
escapeOnce(java.lang.String input) |
int |
getHex(int b) |
java.lang.String |
minimalEscape(java.lang.String input) |
java.lang.String |
normalizePath(java.lang.String path) |
java.lang.String |
unescapeRepeatedly(java.lang.String input) |
protected static java.nio.charset.Charset |
UTF8() |
public void canonicalize(HandyURL url)
canonicalize in interface URLCanonicalizerpublic java.lang.String normalizePath(java.lang.String path)
public java.lang.String attemptIPFormats(java.lang.String host)
public java.lang.String minimalEscape(java.lang.String input)
protected static java.nio.charset.Charset UTF8()
public java.lang.String escapeOnce(java.lang.String input)
public java.lang.String unescapeRepeatedly(java.lang.String input)
public java.lang.String decode(java.lang.String input)
public int getHex(int b)
Copyright © 2019 The International Internet Preservation Consortium. All Rights Reserved.