Class LinkedHttpHeaders

java.lang.Object
io.netty.handler.codec.http.HttpHeaders
io.inverno.mod.http.base.internal.netty.LinkedHttpHeaders
All Implemented Interfaces:
Iterable<Map.Entry<String,String>>

public class LinkedHttpHeaders extends io.netty.handler.codec.http.HttpHeaders

Optimized HttpHeaders implementation.

This implementation is based on a linked list keeping a pointer to the head and the tail of the list for fast access.

Since:
1.0
Author:
Jeremy Kuhn
  • Constructor Details

    • LinkedHttpHeaders

      public LinkedHttpHeaders()

      Creates linked HTTP headers.

  • Method Details

    • get

      public String get(String name)
      Specified by:
      get in class io.netty.handler.codec.http.HttpHeaders
    • get

      public String get(CharSequence name)
      Overrides:
      get in class io.netty.handler.codec.http.HttpHeaders
    • getAll

      public List<String> getAll(String name)
      Specified by:
      getAll in class io.netty.handler.codec.http.HttpHeaders
    • getAll

      public List<String> getAll(CharSequence name)
      Overrides:
      getAll in class io.netty.handler.codec.http.HttpHeaders
    • getAllCharSequence

      public List<CharSequence> getAllCharSequence(CharSequence name)

      Returns all header values as char sequences.

      Parameters:
      name - the name of the header
      Returns:
      a list of values or an empty list
    • getCharSequence

      public CharSequence getCharSequence(CharSequence name)

      Returns a header value as char sequence.

      Parameters:
      name - the name of the header
      Returns:
      the value or null
    • getInt

      public Integer getInt(CharSequence name)
      Specified by:
      getInt in class io.netty.handler.codec.http.HttpHeaders
    • getInt

      public int getInt(CharSequence name, int defaultValue)
      Specified by:
      getInt in class io.netty.handler.codec.http.HttpHeaders
    • getLong

      public Long getLong(CharSequence name)

      Returns a header value as long.

      Parameters:
      name - the name of the header
      Returns:
      the value or null
    • getLong

      public long getLong(CharSequence name, long defaultValue)

      Returns a header value as long defaulting the the specified default value.

      Parameters:
      name - the name of the header
      defaultValue - the default value
      Returns:
      the value or the default value
    • getShort

      public Short getShort(CharSequence name)
      Specified by:
      getShort in class io.netty.handler.codec.http.HttpHeaders
    • getShort

      public short getShort(CharSequence name, short defaultValue)
      Specified by:
      getShort in class io.netty.handler.codec.http.HttpHeaders
    • getTimeMillis

      public Long getTimeMillis(CharSequence name)
      Specified by:
      getTimeMillis in class io.netty.handler.codec.http.HttpHeaders
    • getTimeMillis

      public long getTimeMillis(CharSequence name, long defaultValue)
      Specified by:
      getTimeMillis in class io.netty.handler.codec.http.HttpHeaders
    • add

      public io.netty.handler.codec.http.HttpHeaders add(String name, Object value)
      Specified by:
      add in class io.netty.handler.codec.http.HttpHeaders
    • add

      public io.netty.handler.codec.http.HttpHeaders add(CharSequence name, Object value)
      Overrides:
      add in class io.netty.handler.codec.http.HttpHeaders
    • add

      public io.netty.handler.codec.http.HttpHeaders add(String name, Iterable<?> values)
      Specified by:
      add in class io.netty.handler.codec.http.HttpHeaders
    • add

      public io.netty.handler.codec.http.HttpHeaders add(CharSequence name, Iterable<?> values)
      Overrides:
      add in class io.netty.handler.codec.http.HttpHeaders
    • addCharSequence

      public io.netty.handler.codec.http.HttpHeaders addCharSequence(CharSequence name, CharSequence value)

      Adds the specified header.

      Parameters:
      name - the name of the header
      value - the value of the header
      Returns:
      the HTTP headers
    • addCharSequence

      public io.netty.handler.codec.http.HttpHeaders addCharSequence(CharSequence name, Iterable<CharSequence> values)

      Adds the specified header with multiple values.

      Parameters:
      name - the name of the header
      values - an iterable providing the values
      Returns:
    • addInt

      public io.netty.handler.codec.http.HttpHeaders addInt(CharSequence name, int value)
      Specified by:
      addInt in class io.netty.handler.codec.http.HttpHeaders
    • addLong

      public io.netty.handler.codec.http.HttpHeaders addLong(CharSequence name, long value)

      Adds the specified header.

      Parameters:
      name - the name of the header
      value - the value of the header
      Returns:
      the HTTP headers
    • addShort

      public io.netty.handler.codec.http.HttpHeaders addShort(CharSequence name, short value)
      Specified by:
      addShort in class io.netty.handler.codec.http.HttpHeaders
    • set

      public io.netty.handler.codec.http.HttpHeaders set(String name, Object value)
      Specified by:
      set in class io.netty.handler.codec.http.HttpHeaders
    • set

      public io.netty.handler.codec.http.HttpHeaders set(CharSequence name, Object value)
      Overrides:
      set in class io.netty.handler.codec.http.HttpHeaders
    • set

      public io.netty.handler.codec.http.HttpHeaders set(String name, Iterable<?> values)
      Specified by:
      set in class io.netty.handler.codec.http.HttpHeaders
    • set

      public io.netty.handler.codec.http.HttpHeaders set(CharSequence name, Iterable<?> values)
      Overrides:
      set in class io.netty.handler.codec.http.HttpHeaders
    • setCharSequence

      public LinkedHttpHeaders setCharSequence(CharSequence name, CharSequence value)

      Sets the value of the specified header.

      Parameters:
      name - the name of the header
      value - the value to set
      Returns:
      the HTTP headers
    • setCharSequence

      public io.netty.handler.codec.http.HttpHeaders setCharSequence(CharSequence name, Iterable<CharSequence> values)

      Sets multiple values for the specified header.

      Parameters:
      name - the name of the header
      values - an iterable providing the values
      Returns:
      the HTTP headers
    • setInt

      public io.netty.handler.codec.http.HttpHeaders setInt(CharSequence name, int value)
      Specified by:
      setInt in class io.netty.handler.codec.http.HttpHeaders
    • setLong

      public io.netty.handler.codec.http.HttpHeaders setLong(CharSequence name, long value)

      Sets the value of the specified header.

      Parameters:
      name - the name of the header
      value - the value to set
      Returns:
      the HTTP headers
    • setShort

      public io.netty.handler.codec.http.HttpHeaders setShort(CharSequence name, short value)
      Specified by:
      setShort in class io.netty.handler.codec.http.HttpHeaders
    • remove

      public io.netty.handler.codec.http.HttpHeaders remove(String name)
      Specified by:
      remove in class io.netty.handler.codec.http.HttpHeaders
    • remove

      public io.netty.handler.codec.http.HttpHeaders remove(CharSequence name)
      Overrides:
      remove in class io.netty.handler.codec.http.HttpHeaders
    • clear

      public io.netty.handler.codec.http.HttpHeaders clear()
      Specified by:
      clear in class io.netty.handler.codec.http.HttpHeaders
    • entries

      public List<Map.Entry<String,String>> entries()
      Specified by:
      entries in class io.netty.handler.codec.http.HttpHeaders
    • entriesCharSequence

      public List<Map.Entry<CharSequence,CharSequence>> entriesCharSequence()

      Returns headers as entries of char sequences.

      Returns:
      the headers entries
    • names

      public Set<String> names()
      Specified by:
      names in class io.netty.handler.codec.http.HttpHeaders
    • contains

      public boolean contains(String name)
      Specified by:
      contains in class io.netty.handler.codec.http.HttpHeaders
    • contains

      public boolean contains(CharSequence name)
      Overrides:
      contains in class io.netty.handler.codec.http.HttpHeaders
    • contains

      public boolean contains(CharSequence name, CharSequence value, boolean ignoreCase)
      Overrides:
      contains in class io.netty.handler.codec.http.HttpHeaders
    • contains

      public boolean contains(String name, String value, boolean ignoreCase)
      Overrides:
      contains in class io.netty.handler.codec.http.HttpHeaders
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in class io.netty.handler.codec.http.HttpHeaders
    • size

      public int size()
      Specified by:
      size in class io.netty.handler.codec.http.HttpHeaders
    • iterator

      Deprecated.
      Specified by:
      iterator in interface Iterable<Map.Entry<String,String>>
      Specified by:
      iterator in class io.netty.handler.codec.http.HttpHeaders
    • iteratorCharSequence

      public Iterator<Map.Entry<CharSequence,CharSequence>> iteratorCharSequence()
      Specified by:
      iteratorCharSequence in class io.netty.handler.codec.http.HttpHeaders
    • encode

      public void encode(io.netty.buffer.ByteBuf buf)

      Encodes the headers into the specified buffer.

      Parameters:
      buf - the traget buffer