Class HttpHeader

java.lang.Object
com.github.mjeanroy.junit.servers.client.HttpHeader

public final class HttpHeader extends Object
Http getHeader representation.

A header is defined by:

  • A (case insensitive) name.
  • A value, or a list of values.
  • Method Details

    • header

      public static HttpHeader header(String name, String value)
      Create a header with a single value.
      Parameters:
      name - Header name, must not be blank.
      value - Header value.
      Returns:
      Header.
      Throws:
      NullPointerException - If name or value are null.
      IllegalArgumentException - If name is blank.
    • header

      public static HttpHeader header(String name, Collection<String> values)
      Create a header with multiple values.
      Parameters:
      name - Header name.
      values - Header values, must not be empty.
      Returns:
      Header.
      Throws:
      NullPointerException - If name or one of values are null.
      IllegalArgumentException - If name is blank.
    • of

      public static HttpHeader of(String name, String value)
      Create a header with a single value.
      Parameters:
      name - Header name, must not be blank.
      value - Header value.
      Returns:
      Header.
      Throws:
      NullPointerException - If name or value are null.
      IllegalArgumentException - If name is blank.
    • of

      public static HttpHeader of(String name, Collection<String> values)
      Create a header with multiple values.
      Parameters:
      name - Header name.
      values - Header values, must not be empty.
      Returns:
      Header.
      Throws:
      NullPointerException - If name or one of values are null.
      IllegalArgumentException - If name is blank.
    • builder

      public static HttpHeader.Builder builder(String name)
      Create builder for HttpHeader.
      Parameters:
      name - Header name.
      Returns:
      Header value.
    • getName

      public String getName()
      Get header name.
      Returns:
      Header name.
    • getValues

      public List<String> getValues()
      Get header values (returned list is not modifiable).
      Returns:
      Header values.
    • getFirstValue

      public String getFirstValue()
      Get first value of header.
      Returns:
      First header value.
    • getLastValue

      public String getLastValue()
      Get last value of header. If header has only a single value, result will be the same as the result of getFirstValue().
      Returns:
      Last header value.
    • serializeValues

      public String serializeValues()
      Serialize header values using the default separator. The result is a string value that can be added to any HTTP request.
      Returns:
      Header values serialized as a string.
    • serialize

      public String serialize()
      Serialize header as it should appear in raw HTTP request.
      Returns:
      The serialized header.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object