Skip to main content

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.