Package io.netty.handler.codec.http
Class CombinedHttpHeaders.CombinedHttpHeadersImpl
- java.lang.Object
-
- io.netty.handler.codec.DefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
-
- io.netty.handler.codec.http.CombinedHttpHeaders.CombinedHttpHeadersImpl
-
- All Implemented Interfaces:
Headers<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
,java.lang.Iterable<java.util.Map.Entry<java.lang.CharSequence,java.lang.CharSequence>>
- Enclosing class:
- CombinedHttpHeaders
private static final class CombinedHttpHeaders.CombinedHttpHeadersImpl extends DefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interface
CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T>
Escapes comma separated values (CSV).-
Nested classes/interfaces inherited from class io.netty.handler.codec.DefaultHeaders
DefaultHeaders.HeaderEntry<K,V>, DefaultHeaders.NameValidator<K>, DefaultHeaders.ValueValidator<V>
-
-
Field Summary
Fields Modifier and Type Field Description private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.CharSequence>
charSequenceEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.Object>
objectEscaper
private static int
VALUE_LENGTH_ESTIMATE
An estimate of the size of a header value.-
Fields inherited from class io.netty.handler.codec.DefaultHeaders
head
-
-
Constructor Summary
Constructors Constructor Description CombinedHttpHeadersImpl(HashingStrategy<java.lang.CharSequence> nameHashingStrategy, ValueConverter<java.lang.CharSequence> valueConverter, DefaultHeaders.NameValidator<java.lang.CharSequence> nameValidator, DefaultHeaders.ValueValidator<java.lang.CharSequence> valueValidator)
CombinedHttpHeadersImpl(HashingStrategy<java.lang.CharSequence> nameHashingStrategy, ValueConverter<java.lang.CharSequence> valueConverter, DefaultHeaders.NameValidator<java.lang.CharSequence> nameValidator, DefaultHeaders.ValueValidator<java.lang.CharSequence> valueValidator, int sizeHint)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CombinedHttpHeaders.CombinedHttpHeadersImpl
add(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Adds all header names and values ofheaders
to this object.CombinedHttpHeaders.CombinedHttpHeadersImpl
add(java.lang.CharSequence name, java.lang.CharSequence value)
Adds a new header with the specifiedname
andvalue
.CombinedHttpHeaders.CombinedHttpHeadersImpl
add(java.lang.CharSequence name, java.lang.CharSequence... values)
Adds new headers with the specifiedname
andvalues
.CombinedHttpHeaders.CombinedHttpHeadersImpl
add(java.lang.CharSequence name, java.lang.Iterable<? extends java.lang.CharSequence> values)
Adds new headers with the specifiedname
andvalues
.private CombinedHttpHeaders.CombinedHttpHeadersImpl
addEscapedValue(java.lang.CharSequence name, java.lang.CharSequence escapedValue)
CombinedHttpHeaders.CombinedHttpHeadersImpl
addObject(java.lang.CharSequence name, java.lang.Iterable<?> values)
Adds a new header with the specified name and values.CombinedHttpHeaders.CombinedHttpHeadersImpl
addObject(java.lang.CharSequence name, java.lang.Object value)
Adds a new header.CombinedHttpHeaders.CombinedHttpHeadersImpl
addObject(java.lang.CharSequence name, java.lang.Object... values)
Adds a new header with the specified name and values.private static boolean
cannotBeCombined(java.lang.CharSequence name)
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.CharSequence>
charSequenceEscaper()
private static <T> java.lang.CharSequence
commaSeparate(java.lang.CharSequence name, CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T> escaper, java.lang.Iterable<? extends T> values)
private static <T> java.lang.CharSequence
commaSeparate(java.lang.CharSequence name, CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T> escaper, T... values)
private static java.lang.CharSequence
commaSeparateEscapedValues(java.lang.CharSequence currentValue, java.lang.CharSequence value)
java.util.List<java.lang.CharSequence>
getAll(java.lang.CharSequence name)
Returns all values for the header with the specified name.private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.Object>
objectEscaper()
CombinedHttpHeaders.CombinedHttpHeadersImpl
set(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Clears the current header entries and copies all header entries of the specifiedheaders
.CombinedHttpHeaders.CombinedHttpHeadersImpl
set(java.lang.CharSequence name, java.lang.CharSequence... values)
Sets a header with the specified name and values.CombinedHttpHeaders.CombinedHttpHeadersImpl
set(java.lang.CharSequence name, java.lang.Iterable<? extends java.lang.CharSequence> values)
Sets a new header with the specified name and values.CombinedHttpHeaders.CombinedHttpHeadersImpl
setAll(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Retains all current headers but calls#set(K, V)
for each entry inheaders
.CombinedHttpHeaders.CombinedHttpHeadersImpl
setObject(java.lang.CharSequence name, java.lang.Iterable<?> values)
Sets a header with the specified name and values.CombinedHttpHeaders.CombinedHttpHeadersImpl
setObject(java.lang.CharSequence name, java.lang.Object value)
Sets a new header.CombinedHttpHeaders.CombinedHttpHeadersImpl
setObject(java.lang.CharSequence name, java.lang.Object... values)
Sets a header with the specified name and values.java.util.Iterator<java.lang.CharSequence>
valueIterator(java.lang.CharSequence name)
Equivalent toDefaultHeaders.getAll(Object)
but no intermediate list is generated.-
Methods inherited from class io.netty.handler.codec.DefaultHeaders
addBoolean, addByte, addChar, addDouble, addFloat, addImpl, addInt, addLong, addShort, addTimeMillis, clear, contains, contains, contains, containsBoolean, containsByte, containsChar, containsDouble, containsFloat, containsInt, containsLong, containsObject, containsShort, containsTimeMillis, copy, equals, equals, get, get, getAllAndRemove, getAndRemove, getAndRemove, getBoolean, getBoolean, getBooleanAndRemove, getBooleanAndRemove, getByte, getByte, getByteAndRemove, getByteAndRemove, getChar, getChar, getCharAndRemove, getCharAndRemove, getDouble, getDouble, getDoubleAndRemove, getDoubleAndRemove, getFloat, getFloat, getFloatAndRemove, getFloatAndRemove, getInt, getInt, getIntAndRemove, getIntAndRemove, getLong, getLong, getLongAndRemove, getLongAndRemove, getShort, getShort, getShortAndRemove, getShortAndRemove, getTimeMillis, getTimeMillis, getTimeMillisAndRemove, getTimeMillisAndRemove, hashCode, hashCode, isEmpty, iterator, names, nameValidator, newHeaderEntry, remove, set, setBoolean, setByte, setChar, setDouble, setFloat, setInt, setLong, setShort, setTimeMillis, size, toString, validateName, validateValue, valueConverter, valueValidator
-
-
-
-
Field Detail
-
VALUE_LENGTH_ESTIMATE
private static final int VALUE_LENGTH_ESTIMATE
An estimate of the size of a header value.- See Also:
- Constant Field Values
-
objectEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.Object> objectEscaper
-
charSequenceEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.CharSequence> charSequenceEscaper
-
-
Constructor Detail
-
CombinedHttpHeadersImpl
CombinedHttpHeadersImpl(HashingStrategy<java.lang.CharSequence> nameHashingStrategy, ValueConverter<java.lang.CharSequence> valueConverter, DefaultHeaders.NameValidator<java.lang.CharSequence> nameValidator, DefaultHeaders.ValueValidator<java.lang.CharSequence> valueValidator)
-
CombinedHttpHeadersImpl
CombinedHttpHeadersImpl(HashingStrategy<java.lang.CharSequence> nameHashingStrategy, ValueConverter<java.lang.CharSequence> valueConverter, DefaultHeaders.NameValidator<java.lang.CharSequence> nameValidator, DefaultHeaders.ValueValidator<java.lang.CharSequence> valueValidator, int sizeHint)
-
-
Method Detail
-
objectEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.Object> objectEscaper()
-
charSequenceEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.CharSequence> charSequenceEscaper()
-
valueIterator
public java.util.Iterator<java.lang.CharSequence> valueIterator(java.lang.CharSequence name)
Description copied from class:DefaultHeaders
Equivalent toDefaultHeaders.getAll(Object)
but no intermediate list is generated.- Overrides:
valueIterator
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the name of the header to retrieve- Returns:
- an
Iterator
of header values corresponding toname
.
-
getAll
public java.util.List<java.lang.CharSequence> getAll(java.lang.CharSequence name)
Description copied from interface:Headers
Returns all values for the header with the specified name. The returnedList
can't be modified.- Specified by:
getAll
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
getAll
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the name of the header to retrieve- Returns:
- a
List
of header values or an emptyList
if no values are found.
-
add
public CombinedHttpHeaders.CombinedHttpHeadersImpl add(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Description copied from interface:Headers
Adds all header names and values ofheaders
to this object.- Specified by:
add
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
add
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Returns:
this
-
set
public CombinedHttpHeaders.CombinedHttpHeadersImpl set(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Description copied from interface:Headers
Clears the current header entries and copies all header entries of the specifiedheaders
.- Specified by:
set
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
set
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Returns:
this
-
setAll
public CombinedHttpHeaders.CombinedHttpHeadersImpl setAll(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Description copied from interface:Headers
Retains all current headers but calls#set(K, V)
for each entry inheaders
.- Specified by:
setAll
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
setAll
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
headers
- The headers used to#set(K, V)
values in this instance- Returns:
this
-
add
public CombinedHttpHeaders.CombinedHttpHeadersImpl add(java.lang.CharSequence name, java.lang.CharSequence value)
Description copied from interface:Headers
Adds a new header with the specifiedname
andvalue
.- Specified by:
add
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
add
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the name of the headervalue
- the value of the header- Returns:
this
-
add
public CombinedHttpHeaders.CombinedHttpHeadersImpl add(java.lang.CharSequence name, java.lang.CharSequence... values)
Description copied from interface:Headers
Adds new headers with the specifiedname
andvalues
. This method is semantically equivalent tofor (T value : values) { headers.add(name, value); }
- Specified by:
add
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
add
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalues
- the values of the header- Returns:
this
-
add
public CombinedHttpHeaders.CombinedHttpHeadersImpl add(java.lang.CharSequence name, java.lang.Iterable<? extends java.lang.CharSequence> values)
Description copied from interface:Headers
Adds new headers with the specifiedname
andvalues
. This method is semantically equivalent tofor (T value : values) { headers.add(name, value); }
- Specified by:
add
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
add
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalues
- the values of the header- Returns:
this
-
addObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl addObject(java.lang.CharSequence name, java.lang.Object value)
Description copied from interface:Headers
Adds a new header. Before thevalue
is added, it's converted to typeT
.- Specified by:
addObject
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
addObject
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalue
- the value of the header- Returns:
this
-
addObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl addObject(java.lang.CharSequence name, java.lang.Iterable<?> values)
Description copied from interface:Headers
Adds a new header with the specified name and values. This method is equivalent tofor (Object v : values) { headers.addObject(name, v); }
- Specified by:
addObject
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
addObject
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalues
- the value of the header- Returns:
this
-
addObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl addObject(java.lang.CharSequence name, java.lang.Object... values)
Description copied from interface:Headers
Adds a new header with the specified name and values. This method is equivalent tofor (Object v : values) { headers.addObject(name, v); }
- Specified by:
addObject
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
addObject
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalues
- the value of the header- Returns:
this
-
set
public CombinedHttpHeaders.CombinedHttpHeadersImpl set(java.lang.CharSequence name, java.lang.CharSequence... values)
Description copied from interface:Headers
Sets a header with the specified name and values. Any existing headers with this name are removed. This method is equivalent to:headers.remove(name); for (T v : values) { headers.add(name, v); }
- Specified by:
set
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
set
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalues
- the value of the header- Returns:
this
-
set
public CombinedHttpHeaders.CombinedHttpHeadersImpl set(java.lang.CharSequence name, java.lang.Iterable<? extends java.lang.CharSequence> values)
Description copied from interface:Headers
Sets a new header with the specified name and values. This method is equivalent tofor (T v : values) { headers.addObject(name, v); }
- Specified by:
set
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
set
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalues
- the value of the header- Returns:
this
-
setObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl setObject(java.lang.CharSequence name, java.lang.Object value)
Description copied from interface:Headers
Sets a new header. Any existing headers with this name are removed. Before thevalue
is add, it's converted to typeT
.- Specified by:
setObject
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
setObject
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalue
- the value of the header- Returns:
this
-
setObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl setObject(java.lang.CharSequence name, java.lang.Object... values)
Description copied from interface:Headers
Sets a header with the specified name and values. Any existing headers with this name are removed. This method is equivalent to:headers.remove(name); for (Object v : values) { headers.addObject(name, v); }
- Specified by:
setObject
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
setObject
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalues
- the values of the header- Returns:
this
-
setObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl setObject(java.lang.CharSequence name, java.lang.Iterable<?> values)
Description copied from interface:Headers
Sets a header with the specified name and values. Any existing headers with this name are removed. This method is equivalent to:headers.remove(name); for (Object v : values) { headers.addObject(name, v); }
- Specified by:
setObject
in interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Overrides:
setObject
in classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
- Parameters:
name
- the header namevalues
- the values of the header- Returns:
this
-
cannotBeCombined
private static boolean cannotBeCombined(java.lang.CharSequence name)
-
addEscapedValue
private CombinedHttpHeaders.CombinedHttpHeadersImpl addEscapedValue(java.lang.CharSequence name, java.lang.CharSequence escapedValue)
-
commaSeparate
private static <T> java.lang.CharSequence commaSeparate(java.lang.CharSequence name, CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T> escaper, T... values)
-
commaSeparate
private static <T> java.lang.CharSequence commaSeparate(java.lang.CharSequence name, CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T> escaper, java.lang.Iterable<? extends T> values)
-
commaSeparateEscapedValues
private static java.lang.CharSequence commaSeparateEscapedValues(java.lang.CharSequence currentValue, java.lang.CharSequence value)
-
-