Package org.htmlunit.http
Class HttpUtils
java.lang.Object
org.htmlunit.http.HttpUtils
Http related utils.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final DateTimeFormatter
ASCII time date formatter.private static final DateTimeFormatter
RFC 1036 date formatter.private static final DateTimeFormatter
RFC 1123 date formatter.private static final ZoneId
private static final String
Date format pattern used to parse HTTP date headers in ANSI Casctime()
format.static final String
Date format pattern used to parse HTTP date headers in RFC 1036 format.private static final String
Date format pattern used to parse HTTP date headers in RFC 1123 format.private static final DateTimeFormatter[]
private static final BitSet
Safe characters for x-www-form-urlencoded data; i.e. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
copyContent
(String buf, HttpUtils.ParseRange range, BitSet delimiters, StringBuilder dst) Transfers content into the destination buffer until a whitespace character or any of the given delimiters is encountered.private static String
decodeFormFields
(String content, Charset charset) private static String
encodeFormFields
(String content, Charset charset) static String
formatDate
(Date date) Formats the given date according to the RFC 1123 pattern.private static boolean
isWhitespace
(char ch) static Date
Parses a date value.private static String
parseToken
(String buf, HttpUtils.ParseRange range, BitSet delimiters) Extracts from the sequence of chars a token terminated with any of the given delimiters discarding semantically insignificant whitespace characters.static List
<NameValuePair> parseUrlQuery
(String s, Charset charset) Returns a list ofNameValuePair
s URI query parameters.private static void
skipWhiteSpace
(String buf, HttpUtils.ParseRange range) Skips semantically insignificant whitespace characters and moves the cursor to the closest non-whitespace character.static String
toQueryFormFields
(Iterable<? extends NameValuePair> parameters, Charset charset)
-
Field Details
-
URLENCODER
Safe characters for x-www-form-urlencoded data; i.e. alphanumeric plus"-", "_", ".", "*"
-
PATTERN_RFC1123
Date format pattern used to parse HTTP date headers in RFC 1123 format.- See Also:
-
FORMATTER_RFC1123
RFC 1123 date formatter. -
PATTERN_RFC1036
Date format pattern used to parse HTTP date headers in RFC 1036 format.- See Also:
-
FORMATTER_RFC1036
RFC 1036 date formatter. -
PATTERN_ASCTIME
Date format pattern used to parse HTTP date headers in ANSI Casctime()
format.- See Also:
-
FORMATTER_ASCTIME
ASCII time date formatter. -
STANDARD_PATTERNS
-
GMT_ID
-
-
Constructor Details
-
HttpUtils
private HttpUtils()
-
-
Method Details
-
parseDate
Parses a date value. The formats used for parsing the date value are retrieved from the default http params.- Parameters:
dateValue
- the date value to parse- Returns:
- the parsed date or null if input could not be parsed
-
formatDate
Formats the given date according to the RFC 1123 pattern.- Parameters:
date
- The date to format.- Returns:
- An RFC 1123 formatted date string.
- See Also:
-
parseUrlQuery
Returns a list ofNameValuePair
s URI query parameters. By convention,'&'
and';'
are accepted as parameter separators.- Parameters:
s
- URI query component.charset
- charset to use when decoding the parameters.- Returns:
- list of query parameters.
-
decodeFormFields
-
toQueryFormFields
public static String toQueryFormFields(Iterable<? extends NameValuePair> parameters, Charset charset) - Parameters:
parameters
- the paramterscharset
- the charset- Returns:
- the query string from the given parameters
-
encodeFormFields
-
parseToken
Extracts from the sequence of chars a token terminated with any of the given delimiters discarding semantically insignificant whitespace characters.- Parameters:
buf
- buffer with the sequence of chars to be parsedrange
- defines the bounds and current position of the bufferdelimiters
- set of delimiting characters. Can benull
if the token is not delimited by any character.
-
skipWhiteSpace
Skips semantically insignificant whitespace characters and moves the cursor to the closest non-whitespace character.- Parameters:
buf
- buffer with the sequence of chars to be parsedrange
- defines the bounds and current position of the buffer
-
copyContent
private static void copyContent(String buf, HttpUtils.ParseRange range, BitSet delimiters, StringBuilder dst) Transfers content into the destination buffer until a whitespace character or any of the given delimiters is encountered.- Parameters:
buf
- buffer with the sequence of chars to be parsedrange
- defines the bounds and current position of the bufferdelimiters
- set of delimiting characters. Can benull
if the value is delimited by a whitespace only.dst
- destination buffer
-
isWhitespace
private static boolean isWhitespace(char ch)
-