Http Package
The org.apache.juneau.commons.http package provides lightweight, dependency-free primitives for parsing and modeling HTTP header values — media types, content-negotiation ranges, and name/value parameters — as defined by RFC 2616.
Media Types and Negotiation
MediaType
Describes a single media type used in content negotiation (e.g. text/html;charset=UTF-8). Provides constants for the common types Juneau supports.
MediaType json = MediaType.JSON; // application/json
MediaRange
Describes a single range within an Accept-style header, including its quality (q) metric and extension parameters.
MediaRanges
A parsed Accept (or similar) header — a list of MediaRange values sorted most-acceptable first, with a match(...) method for selecting the best available media type.
MediaRanges accept = MediaRanges.of("text/json;q=0.8, text/*;q=0.6, */*;q=0.0");
int best = accept.match(List.of(MediaType.JSON, MediaType.XML));
StringRange
Like MediaRange but for plain comma-delimited header values with an optional quality metric (e.g. Accept-Encoding).
StringRanges
A parsed Accept-Encoding (or similar) header — a sorted list of StringRange values.
Header Parsing
HeaderElement
Represents a parsed element from an HTTP header value — a name plus zero or more parameters (RFC 2616).
HeaderValueParser
A lightweight parser that splits comma-delimited header values into HeaderElement objects with semicolon-delimited parameters.
Name/Value Parameters
NameValuePair
A name/value pair parameter, typically used in HTTP headers and request parameters.
BasicNameValuePair
A simple immutable implementation of NameValuePair.