类 Headers

java.lang.Object
com.lark.oapi.okhttp.Headers

public final class Headers extends Object
The header fields of a single HTTP message. Values are uninterpreted strings; use Request and Response for interpreted headers. This class maintains the order of the header fields within the HTTP message.

This class tracks header values line-by-line. A field with multiple comma- separated values on the same line will be treated as a field with a single value by this class. It is the caller's responsibility to detect and split on commas if their field permits multiple values. This simplifies use of single-valued fields whose values routinely contain commas, such as cookies or dates.

This class trims whitespace from values. It never returns values with leading or trailing whitespace.

Instances of this class are immutable. Use Headers.Builder to create instances.

  • 嵌套类概要

    嵌套类
    修饰符和类型
    说明
    static final class 
     
  • 方法概要

    修饰符和类型
    方法
    说明
    long
    Returns the number of bytes required to encode these headers using HTTP/1.1.
    boolean
    equals(Object other)
    Returns true if other is a Headers object with the same headers, with the same casing, in the same order.
    get(String name)
    Returns the last value corresponding to the specified field, or null.
    Returns the last value corresponding to the specified field parsed as an HTTP date, or null if either the field is absent or cannot be parsed as a date.
    Returns the last value corresponding to the specified field parsed as an HTTP date, or null if either the field is absent or cannot be parsed as a date.
    int
     
    name(int index)
    Returns the field at position.
    Returns an immutable case-insensitive set of header names.
     
    static Headers
    of(String... namesAndValues)
    Returns headers for the alternating header names and values.
    static Headers
    of(Map<String,String> headers)
    Returns headers for the header names and values in the Map.
    int
    Returns the number of field values.
     
     
    value(int index)
    Returns the value at index.
    values(String name)
    Returns an immutable list of the header values for name.

    从类继承的方法 java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • 方法详细资料

    • of

      public static Headers of(String... namesAndValues)
      Returns headers for the alternating header names and values. There must be an even number of arguments, and they must alternate between header names and values.
    • of

      public static Headers of(Map<String,String> headers)
      Returns headers for the header names and values in the Map.
    • get

      @Nullable public String get(String name)
      Returns the last value corresponding to the specified field, or null.
    • getDate

      @Nullable public Date getDate(String name)
      Returns the last value corresponding to the specified field parsed as an HTTP date, or null if either the field is absent or cannot be parsed as a date.
    • getInstant

      @IgnoreJRERequirement @Nullable public Instant getInstant(String name)
      Returns the last value corresponding to the specified field parsed as an HTTP date, or null if either the field is absent or cannot be parsed as a date.
    • size

      public int size()
      Returns the number of field values.
    • name

      public String name(int index)
      Returns the field at position.
    • value

      public String value(int index)
      Returns the value at index.
    • names

      public Set<String> names()
      Returns an immutable case-insensitive set of header names.
    • values

      public List<String> values(String name)
      Returns an immutable list of the header values for name.
    • byteCount

      public long byteCount()
      Returns the number of bytes required to encode these headers using HTTP/1.1. This is also the approximate size of HTTP/2 headers before they are compressed with HPACK. This value is intended to be used as a metric: smaller headers are more efficient to encode and transmit.
    • newBuilder

      public Headers.Builder newBuilder()
    • equals

      public boolean equals(@Nullable Object other)
      Returns true if other is a Headers object with the same headers, with the same casing, in the same order. Note that two headers instances may be semantically equal but not equal according to this method. In particular, none of the following sets of headers are equal according to this method:
         
      
         1. Original
         Content-Type: text/html
         Content-Length: 50
      
         2. Different order
         Content-Length: 50
         Content-Type: text/html
      
         3. Different case
         content-type: text/html
         content-length: 50
      
         4. Different values
         Content-Type: text/html
         Content-Length: 050
       

      Applications that require semantically equal headers should convert them into a canonical form before comparing them for equality.

      覆盖:
      equals 在类中 Object
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object
    • toMultimap

      public Map<String,List<String>> toMultimap()