Class QuoteUtil
- java.lang.Object
-
- org.eclipse.jetty.websocket.api.util.QuoteUtil
-
public class QuoteUtil extends java.lang.Object
Provide some consistent Http header value and Extension configuration parameter quoting support.While QuotedStringTokenizer exists in jetty-util, and works great with http header values, using it in websocket-api is undesired.
- Using QuotedStringTokenizer would introduce a dependency to jetty-util that would need to be exposed via the WebAppContext classloader
- ABNF defined extension parameter parsing requirements of RFC-6455 (WebSocket) ABNF, is slightly different than the ABNF parsing defined in RFC-2616 (HTTP/1.1).
- Future HTTPbis ABNF changes for parsing will impact QuotedStringTokenizer
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ABNF_REQUIRED_QUOTING
ABNF from RFC 2616, RFC 822, and RFC 6455 specified characters requiring quoting.
-
Constructor Summary
Constructors Constructor Description QuoteUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
dequote(java.lang.String str)
Remove quotes from a string, only if the input string start with and end with the same quote character.static void
escape(java.lang.StringBuilder buf, java.lang.String str)
static java.lang.String
join(java.lang.Object[] objs, java.lang.String delim)
static java.lang.String
join(java.util.Collection<?> objs, java.lang.String delim)
static void
quote(java.lang.StringBuilder buf, java.lang.String str)
Simple quote of a string, escaping where needed.static void
quoteIfNeeded(java.lang.StringBuilder buf, java.lang.String str, java.lang.String delim)
Append into buf the provided string, adding quotes if needed.static java.util.Iterator<java.lang.String>
splitAt(java.lang.String str, java.lang.String delims)
Create an iterator of the input string, breaking apart the string at the provided delimiters, removing quotes and triming the parts of the string as needed.static java.lang.String
unescape(java.lang.String str)
-
-
-
Field Detail
-
ABNF_REQUIRED_QUOTING
public static final java.lang.String ABNF_REQUIRED_QUOTING
ABNF from RFC 2616, RFC 822, and RFC 6455 specified characters requiring quoting.- See Also:
- Constant Field Values
-
-
Method Detail
-
dequote
public static java.lang.String dequote(java.lang.String str)
Remove quotes from a string, only if the input string start with and end with the same quote character.- Parameters:
str
- the string to remove surrounding quotes from- Returns:
- the de-quoted string
-
escape
public static void escape(java.lang.StringBuilder buf, java.lang.String str)
-
quote
public static void quote(java.lang.StringBuilder buf, java.lang.String str)
Simple quote of a string, escaping where needed.- Parameters:
buf
- the StringBuilder to append tostr
- the string to quote
-
quoteIfNeeded
public static void quoteIfNeeded(java.lang.StringBuilder buf, java.lang.String str, java.lang.String delim)
Append into buf the provided string, adding quotes if needed.Quoting is determined if any of the characters in the
delim
are found in the inputstr
.- Parameters:
buf
- the buffer to append tostr
- the string to possibly quotedelim
- the delimiter characters that will trigger automatic quoting
-
splitAt
public static java.util.Iterator<java.lang.String> splitAt(java.lang.String str, java.lang.String delims)
Create an iterator of the input string, breaking apart the string at the provided delimiters, removing quotes and triming the parts of the string as needed.- Parameters:
str
- the input string to split apartdelims
- the delimiter characters to split the string on- Returns:
- the iterator of the parts of the string, trimmed, with quotes around the string part removed, and unescaped
-
unescape
public static java.lang.String unescape(java.lang.String str)
-
join
public static java.lang.String join(java.lang.Object[] objs, java.lang.String delim)
-
join
public static java.lang.String join(java.util.Collection<?> objs, java.lang.String delim)
-
-