public final class ReadOnlyHttp2Headers extends Object implements Http2Headers
Http2Headers
which only supports read-only methods.
Any array passed to this class may be used directly in the underlying data structures of this class. If these arrays may be modified it is the caller's responsibility to supply this class with a copy of the array.
This may be a good alternative to DefaultHttp2Headers
if your have a fixed set of headers which will not
change.
Http2Headers.PseudoHeaderName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
public static ReadOnlyHttp2Headers trailers(boolean validateHeaders, io.netty.util.AsciiString... otherHeaders)
If this is used for a purpose other than trailers you may violate the header serialization ordering defined by RFC 7540, 8.1.2.1.
validateHeaders
- true
will run validation on each header name/value pair to ensure protocol
compliance.otherHeaders
- A an array of key:value pairs. Must not contain any
pseudo headers
or null
names/values.
A copy will NOT be made of this array. If the contents of this array
may be modified externally you are responsible for passing in a copy.public static ReadOnlyHttp2Headers clientHeaders(boolean validateHeaders, io.netty.util.AsciiString method, io.netty.util.AsciiString path, io.netty.util.AsciiString scheme, io.netty.util.AsciiString authority, io.netty.util.AsciiString... otherHeaders)
validateHeaders
- true
will run validation on each header name/value pair to ensure protocol
compliance.method
- The value for Http2Headers.PseudoHeaderName.METHOD
.path
- The value for Http2Headers.PseudoHeaderName.PATH
.scheme
- The value for Http2Headers.PseudoHeaderName.SCHEME
.authority
- The value for Http2Headers.PseudoHeaderName.AUTHORITY
.otherHeaders
- A an array of key:value pairs. Must not contain any
pseudo headers
or null
names/values.
A copy will NOT be made of this array. If the contents of this array
may be modified externally you are responsible for passing in a copy.public static ReadOnlyHttp2Headers serverHeaders(boolean validateHeaders, io.netty.util.AsciiString status, io.netty.util.AsciiString... otherHeaders)
validateHeaders
- true
will run validation on each header name/value pair to ensure protocol
compliance.status
- The value for Http2Headers.PseudoHeaderName.STATUS
.otherHeaders
- A an array of key:value pairs. Must not contain any
pseudo headers
or null
names/values.
A copy will NOT be made of this array. If the contents of this array
may be modified externally you are responsible for passing in a copy.public CharSequence get(CharSequence name)
get
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public CharSequence get(CharSequence name, CharSequence defaultValue)
get
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public CharSequence getAndRemove(CharSequence name)
getAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public CharSequence getAndRemove(CharSequence name, CharSequence defaultValue)
getAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public List<CharSequence> getAll(CharSequence name)
getAll
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public List<CharSequence> getAllAndRemove(CharSequence name)
getAllAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Boolean getBoolean(CharSequence name)
getBoolean
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean getBoolean(CharSequence name, boolean defaultValue)
getBoolean
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Byte getByte(CharSequence name)
getByte
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public byte getByte(CharSequence name, byte defaultValue)
getByte
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Character getChar(CharSequence name)
getChar
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public char getChar(CharSequence name, char defaultValue)
getChar
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Short getShort(CharSequence name)
getShort
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public short getShort(CharSequence name, short defaultValue)
getShort
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Integer getInt(CharSequence name)
getInt
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public int getInt(CharSequence name, int defaultValue)
getInt
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Long getLong(CharSequence name)
getLong
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public long getLong(CharSequence name, long defaultValue)
getLong
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Float getFloat(CharSequence name)
getFloat
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public float getFloat(CharSequence name, float defaultValue)
getFloat
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Double getDouble(CharSequence name)
getDouble
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public double getDouble(CharSequence name, double defaultValue)
getDouble
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Long getTimeMillis(CharSequence name)
getTimeMillis
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public long getTimeMillis(CharSequence name, long defaultValue)
getTimeMillis
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Boolean getBooleanAndRemove(CharSequence name)
getBooleanAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean getBooleanAndRemove(CharSequence name, boolean defaultValue)
getBooleanAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Byte getByteAndRemove(CharSequence name)
getByteAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public byte getByteAndRemove(CharSequence name, byte defaultValue)
getByteAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Character getCharAndRemove(CharSequence name)
getCharAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public char getCharAndRemove(CharSequence name, char defaultValue)
getCharAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Short getShortAndRemove(CharSequence name)
getShortAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public short getShortAndRemove(CharSequence name, short defaultValue)
getShortAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Integer getIntAndRemove(CharSequence name)
getIntAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public int getIntAndRemove(CharSequence name, int defaultValue)
getIntAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Long getLongAndRemove(CharSequence name)
getLongAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public long getLongAndRemove(CharSequence name, long defaultValue)
getLongAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Float getFloatAndRemove(CharSequence name)
getFloatAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public float getFloatAndRemove(CharSequence name, float defaultValue)
getFloatAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Double getDoubleAndRemove(CharSequence name)
getDoubleAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public double getDoubleAndRemove(CharSequence name, double defaultValue)
getDoubleAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Long getTimeMillisAndRemove(CharSequence name)
getTimeMillisAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public long getTimeMillisAndRemove(CharSequence name, long defaultValue)
getTimeMillisAndRemove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean contains(CharSequence name)
contains
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean contains(CharSequence name, CharSequence value)
contains
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsObject(CharSequence name, Object value)
containsObject
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsBoolean(CharSequence name, boolean value)
containsBoolean
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsByte(CharSequence name, byte value)
containsByte
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsChar(CharSequence name, char value)
containsChar
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsShort(CharSequence name, short value)
containsShort
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsInt(CharSequence name, int value)
containsInt
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsLong(CharSequence name, long value)
containsLong
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsFloat(CharSequence name, float value)
containsFloat
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsDouble(CharSequence name, double value)
containsDouble
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean containsTimeMillis(CharSequence name, long value)
containsTimeMillis
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public int size()
size
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean isEmpty()
isEmpty
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Set<CharSequence> names()
names
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers add(CharSequence name, CharSequence value)
add
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers add(CharSequence name, Iterable<? extends CharSequence> values)
add
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers add(CharSequence name, CharSequence... values)
add
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addObject(CharSequence name, Object value)
addObject
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addObject(CharSequence name, Iterable<?> values)
addObject
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addObject(CharSequence name, Object... values)
addObject
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addBoolean(CharSequence name, boolean value)
addBoolean
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addByte(CharSequence name, byte value)
addByte
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addChar(CharSequence name, char value)
addChar
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addShort(CharSequence name, short value)
addShort
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addInt(CharSequence name, int value)
addInt
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addLong(CharSequence name, long value)
addLong
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addFloat(CharSequence name, float value)
addFloat
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addDouble(CharSequence name, double value)
addDouble
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers addTimeMillis(CharSequence name, long value)
addTimeMillis
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers add(io.netty.handler.codec.Headers<? extends CharSequence,? extends CharSequence,?> headers)
add
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers set(CharSequence name, CharSequence value)
set
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers set(CharSequence name, Iterable<? extends CharSequence> values)
set
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers set(CharSequence name, CharSequence... values)
set
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setObject(CharSequence name, Object value)
setObject
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setObject(CharSequence name, Iterable<?> values)
setObject
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setObject(CharSequence name, Object... values)
setObject
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setBoolean(CharSequence name, boolean value)
setBoolean
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setByte(CharSequence name, byte value)
setByte
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setChar(CharSequence name, char value)
setChar
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setShort(CharSequence name, short value)
setShort
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setInt(CharSequence name, int value)
setInt
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setLong(CharSequence name, long value)
setLong
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setFloat(CharSequence name, float value)
setFloat
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setDouble(CharSequence name, double value)
setDouble
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setTimeMillis(CharSequence name, long value)
setTimeMillis
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers set(io.netty.handler.codec.Headers<? extends CharSequence,? extends CharSequence,?> headers)
set
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers setAll(io.netty.handler.codec.Headers<? extends CharSequence,? extends CharSequence,?> headers)
setAll
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public boolean remove(CharSequence name)
remove
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Http2Headers clear()
clear
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
public Iterator<Map.Entry<CharSequence,CharSequence>> iterator()
Http2Headers
iterator
in interface io.netty.handler.codec.Headers<CharSequence,CharSequence,Http2Headers>
iterator
in interface Http2Headers
iterator
in interface Iterable<Map.Entry<CharSequence,CharSequence>>
public Iterator<CharSequence> valueIterator(CharSequence name)
Http2Headers
Headers.getAll(Object)
but no intermediate list is generated.valueIterator
in interface Http2Headers
name
- the name of the header to retrieveIterator
of header values corresponding to name
.public Http2Headers method(CharSequence value)
Http2Headers
Http2Headers.PseudoHeaderName.METHOD
header or null
if there is no such headermethod
in interface Http2Headers
public Http2Headers scheme(CharSequence value)
Http2Headers
Http2Headers.PseudoHeaderName.SCHEME
header if there is no such headerscheme
in interface Http2Headers
public Http2Headers authority(CharSequence value)
Http2Headers
Http2Headers.PseudoHeaderName.AUTHORITY
header or null
if there is no such headerauthority
in interface Http2Headers
public Http2Headers path(CharSequence value)
Http2Headers
Http2Headers.PseudoHeaderName.PATH
header or null
if there is no such headerpath
in interface Http2Headers
public Http2Headers status(CharSequence value)
Http2Headers
Http2Headers.PseudoHeaderName.STATUS
header or null
if there is no such headerstatus
in interface Http2Headers
public CharSequence method()
Http2Headers
Http2Headers.PseudoHeaderName.METHOD
header or null
if there is no such headermethod
in interface Http2Headers
public CharSequence scheme()
Http2Headers
Http2Headers.PseudoHeaderName.SCHEME
header or null
if there is no such headerscheme
in interface Http2Headers
public CharSequence authority()
Http2Headers
Http2Headers.PseudoHeaderName.AUTHORITY
header or null
if there is no such headerauthority
in interface Http2Headers
public CharSequence path()
Http2Headers
Http2Headers.PseudoHeaderName.PATH
header or null
if there is no such headerpath
in interface Http2Headers
public CharSequence status()
Http2Headers
Http2Headers.PseudoHeaderName.STATUS
header or null
if there is no such headerstatus
in interface Http2Headers
public boolean contains(CharSequence name, CharSequence value, boolean caseInsensitive)
Http2Headers
true
if a header with the name
and value
exists, false
otherwise.
If caseInsensitive
is true
then a case insensitive compare is done on the value.
contains
in interface Http2Headers
name
- the name of the header to findvalue
- the value of the header to findcaseInsensitive
- true
then a case insensitive compare is run to compare values.
otherwise a case sensitive compare is run to compare values.Copyright © 2008–2019 The Netty Project. All rights reserved.