public class RestUtils
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static PathTrie.Decoder |
REST_DECODER |
Constructor and Description |
---|
RestUtils() |
Modifier and Type | Method and Description |
---|---|
static java.util.regex.Pattern |
checkCorsSettingForRegex(java.lang.String corsSetting)
Determine if CORS setting is a regex
|
static java.lang.String[] |
corsSettingAsArray(java.lang.String corsSetting)
Return the CORS setting as an array of origins.
|
static java.lang.String |
decodeComponent(java.lang.String s)
Decodes a bit of an URL encoded by a browser.
|
static java.lang.String |
decodeComponent(java.lang.String s,
java.nio.charset.Charset charset)
Decodes a bit of an URL encoded by a browser.
|
static void |
decodeQueryString(java.lang.String s,
int fromIndex,
java.util.Map<java.lang.String,java.lang.String> params) |
public static final PathTrie.Decoder REST_DECODER
public static void decodeQueryString(java.lang.String s, int fromIndex, java.util.Map<java.lang.String,java.lang.String> params)
public static java.lang.String decodeComponent(java.lang.String s)
This is equivalent to calling decodeComponent(String, Charset)
with the UTF-8 charset (recommended to comply with RFC 3986, Section 2).
s
- The string to decode (can be empty).s
if there's nothing to decode.
If the string to decode is null
, returns an empty string.java.lang.IllegalArgumentException
- if the string contains a malformed
escape sequence.public static java.lang.String decodeComponent(java.lang.String s, java.nio.charset.Charset charset)
The string is expected to be encoded as per RFC 3986, Section 2.
This is the encoding used by JavaScript functions encodeURI
and encodeURIComponent
, but not escape
. For example
in this encoding, é (in Unicode U+00E9
or in UTF-8
0xC3 0xA9
) is encoded as %C3%A9
or %c3%a9
.
This is essentially equivalent to calling
except that it's over 2x faster and generates less garbage for the GC.
Actually this function doesn't allocate any memory if there's nothing
to decode, the argument itself is returned.URLDecoder
.URLDecoder.decode(String, String)
s
- The string to decode (can be empty).charset
- The charset to use to decode the string (should really
be StandardCharsets.UTF_8
.s
if there's nothing to decode.
If the string to decode is null
, returns an empty string.java.lang.IllegalArgumentException
- if the string contains a malformed
escape sequence.public static java.util.regex.Pattern checkCorsSettingForRegex(java.lang.String corsSetting)
Pattern
if so and o.w. null.public static java.lang.String[] corsSettingAsArray(java.lang.String corsSetting)
corsSetting
- the CORS allow origin setting as configured by the user;
should never pass null, but we check for it anyway.null
.