-
- All Superinterfaces:
java.lang.Iterable<HttpField>
- All Known Implementing Classes:
HttpFields.Immutable,HttpFields.Mutable,HttpTester.Message,HttpTester.Request,HttpTester.Response
public interface HttpFields extends java.lang.Iterable<HttpField>
Interface that represents on ordered collection ofHttpFields. BothHttpFields.MutableandHttpFields.Immutableimplementations are available via the static methods such asbuild()andfrom(HttpField...).
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classHttpFields.ImmutableHTTP Fields.static classHttpFields.MutableHTTP Fields.
-
Field Summary
Fields Modifier and Type Field Description static HttpFieldsEMPTY
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description HttpFields.ImmutableasImmutable()default java.lang.StringasString()static HttpFields.Mutablebuild()static HttpFields.Mutablebuild(int capacity)static HttpFields.Mutablebuild(HttpFields fields)static HttpFields.Mutablebuild(HttpFields fields, java.util.EnumSet<HttpHeader> removeFields)static HttpFields.Mutablebuild(HttpFields fields, HttpField replaceField)default booleancontains(java.lang.String name)default booleancontains(java.lang.String name, java.lang.String value)default booleancontains(java.util.EnumSet<HttpHeader> headers)default booleancontains(HttpField field)default booleancontains(HttpHeader header)default booleancontains(HttpHeader header, java.lang.String value)static HttpFields.Immutablefrom(HttpField... fields)default java.lang.Stringget(java.lang.String header)default java.lang.Stringget(HttpHeader header)default java.util.List<java.lang.String>getCSV(java.lang.String name, boolean keepQuotes)Get multiple field values of the same name as aQuotedCSVdefault java.util.List<java.lang.String>getCSV(HttpHeader header, boolean keepQuotes)Get multiple field values of the same name, split as aQuotedCSVdefault longgetDateField(java.lang.String name)Get a header as a date value.HttpFieldgetField(int index)Get a Field by index.default HttpFieldgetField(java.lang.String name)default HttpFieldgetField(HttpHeader header)default java.util.Enumeration<java.lang.String>getFieldNames()Get enumeration of header _names.default java.util.Set<java.lang.String>getFieldNamesCollection()Get Set of header names.default java.util.List<HttpField>getFields(java.lang.String name)default java.util.List<HttpField>getFields(HttpHeader header)Get multiple fields of the same headerdefault longgetLongField(java.lang.String name)Get a header as an long value.default longgetLongField(HttpHeader header)Get a header as an long value.default java.util.List<java.lang.String>getQualityCSV(java.lang.String name)Get multiple field values of the same name, split and sorted as aQuotedQualityCSVdefault java.util.List<java.lang.String>getQualityCSV(HttpHeader header)Get multiple field values of the same name, split and sorted as aQuotedQualityCSVdefault java.util.List<java.lang.String>getQualityCSV(HttpHeader header, java.util.function.ToIntFunction<java.lang.String> secondaryOrdering)Get multiple field values of the same name, split and sorted as aQuotedQualityCSVdefault java.util.Enumeration<java.lang.String>getValues(java.lang.String name)Get multi headersdefault java.util.List<java.lang.String>getValuesList(java.lang.String name)Get multiple header of the same namedefault java.util.List<java.lang.String>getValuesList(HttpHeader header)Get multiple field values of the same namedefault booleanisEqualTo(HttpFields that)intsize()java.util.stream.Stream<HttpField>stream()
-
-
-
Field Detail
-
EMPTY
static final HttpFields EMPTY
-
-
Method Detail
-
build
static HttpFields.Mutable build()
-
build
static HttpFields.Mutable build(int capacity)
-
build
static HttpFields.Mutable build(HttpFields fields)
-
build
static HttpFields.Mutable build(HttpFields fields, HttpField replaceField)
-
build
static HttpFields.Mutable build(HttpFields fields, java.util.EnumSet<HttpHeader> removeFields)
-
from
static HttpFields.Immutable from(HttpField... fields)
-
asImmutable
HttpFields.Immutable asImmutable()
-
asString
default java.lang.String asString()
-
contains
default boolean contains(HttpField field)
-
contains
default boolean contains(HttpHeader header, java.lang.String value)
-
contains
default boolean contains(java.lang.String name, java.lang.String value)
-
contains
default boolean contains(HttpHeader header)
-
contains
default boolean contains(java.util.EnumSet<HttpHeader> headers)
-
contains
default boolean contains(java.lang.String name)
-
get
default java.lang.String get(HttpHeader header)
-
get
default java.lang.String get(java.lang.String header)
-
getCSV
default java.util.List<java.lang.String> getCSV(HttpHeader header, boolean keepQuotes)
Get multiple field values of the same name, split as aQuotedCSV- Parameters:
header- The headerkeepQuotes- True if the fields are kept quoted- Returns:
- List the values with OWS stripped
-
getCSV
default java.util.List<java.lang.String> getCSV(java.lang.String name, boolean keepQuotes)Get multiple field values of the same name as aQuotedCSV- Parameters:
name- the case-insensitive field namekeepQuotes- True if the fields are kept quoted- Returns:
- List the values with OWS stripped
-
getDateField
default long getDateField(java.lang.String name)
Get a header as a date value. Returns the value of a date field, or -1 if not found. The case of the field name is ignored.- Parameters:
name- the case-insensitive field name- Returns:
- the value of the field as a number of milliseconds since unix epoch
-
getField
HttpField getField(int index)
Get a Field by index.- Parameters:
index- the field index- Returns:
- A Field value or null if the Field value has not been set
-
getField
default HttpField getField(HttpHeader header)
-
getField
default HttpField getField(java.lang.String name)
-
getFieldNames
default java.util.Enumeration<java.lang.String> getFieldNames()
Get enumeration of header _names. Returns an enumeration of strings representing the header _names for this request.- Returns:
- an enumeration of field names
-
getFieldNamesCollection
default java.util.Set<java.lang.String> getFieldNamesCollection()
Get Set of header names.- Returns:
- the unique set of field names.
-
getFields
default java.util.List<HttpField> getFields(HttpHeader header)
Get multiple fields of the same header- Parameters:
header- the header- Returns:
- List the fields
-
getFields
default java.util.List<HttpField> getFields(java.lang.String name)
-
getLongField
default long getLongField(java.lang.String name) throws java.lang.NumberFormatExceptionGet a header as an long value. Returns the value of an integer field or -1 if not found. The case of the field name is ignored.- Parameters:
name- the case-insensitive field name- Returns:
- the value of the field as a long
- Throws:
java.lang.NumberFormatException- If bad long found
-
getLongField
default long getLongField(HttpHeader header) throws java.lang.NumberFormatException
Get a header as an long value. Returns the value of an integer field or -1 if not found. The case of the field name is ignored.- Parameters:
header- the header type- Returns:
- the value of the field as a long
- Throws:
java.lang.NumberFormatException- If bad long found
-
getQualityCSV
default java.util.List<java.lang.String> getQualityCSV(HttpHeader header)
Get multiple field values of the same name, split and sorted as aQuotedQualityCSV- Parameters:
header- The header- Returns:
- List the values in quality order with the q param and OWS stripped
-
getQualityCSV
default java.util.List<java.lang.String> getQualityCSV(HttpHeader header, java.util.function.ToIntFunction<java.lang.String> secondaryOrdering)
Get multiple field values of the same name, split and sorted as aQuotedQualityCSV- Parameters:
header- The headersecondaryOrdering- Function to apply an ordering other than specified by quality- Returns:
- List the values in quality order with the q param and OWS stripped
-
getQualityCSV
default java.util.List<java.lang.String> getQualityCSV(java.lang.String name)
Get multiple field values of the same name, split and sorted as aQuotedQualityCSV- Parameters:
name- the case-insensitive field name- Returns:
- List the values in quality order with the q param and OWS stripped
-
getValues
default java.util.Enumeration<java.lang.String> getValues(java.lang.String name)
Get multi headers- Parameters:
name- the case-insensitive field name- Returns:
- Enumeration of the values
-
getValuesList
default java.util.List<java.lang.String> getValuesList(HttpHeader header)
Get multiple field values of the same name- Parameters:
header- the header- Returns:
- List the values
-
getValuesList
default java.util.List<java.lang.String> getValuesList(java.lang.String name)
Get multiple header of the same name- Parameters:
name- the case-insensitive field name- Returns:
- List the header values
-
isEqualTo
default boolean isEqualTo(HttpFields that)
-
size
int size()
-
stream
java.util.stream.Stream<HttpField> stream()
-
-