org.apache.jmeter.protocol.http.control

## Class HeaderManager

- java.lang.Object
- - org.apache.jmeter.testelement.AbstractTestElement
  - - org.apache.jmeter.config.ConfigTestElement
    - - org.apache.jmeter.protocol.http.control.HeaderManager

- All Implemented Interfaces:
    Serializable, Cloneable, ConfigElement, Replaceable, Searchable, TestElement

      public class HeaderManager
      extends ConfigTestElement
      implements Serializable, Replaceable

  This class provides an interface to headers file to pass HTTP headers along with a request.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `HEADERS`

    - ### Fields inherited from class org.apache.jmeter.config.ConfigTestElement

      `PASSWORD, USERNAME`

    - ### Fields inherited from interface org.apache.jmeter.testelement.TestElement

      `COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HeaderManager()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add()` Add an empty header.
    `void` | `add(Header h)` Add a header.
    `void` | `addFile(String headerFile)` Add header data from a file.
    `void` | `clear()` Clear the TestElement of all data.
    `Header` | `get(int i)` Return the header at index i.
    `Class<? extends String>` | `getColumnClass(int column)`
    `int` | `getColumnCount()`
    `String` | `getColumnName(int column)`
    `Header` | `getFirstHeaderNamed(String name)` Get the first header from Headers by the header name, or `null` if not found.
    `Header` | `getHeader(int row)`
    `CollectionProperty` | `getHeaders()` Get the collection of JMeterProperty entries representing the headers.
    `HeaderManager` | `merge(TestElement element)` Merge the attributes with a another HeaderManager's attributes.
    `HeaderManager` | `merge(TestElement element, boolean preferLocalValues)` Deprecated. since 3.2, use `merge(TestElement)` as this method will be removed in a future version
    `void` | `remove(int index)` Remove a header.
    `void` | `removeHeaderNamed(String name)` Remove from Headers the header named name
    `int` | `replace(String regex, String replaceBy, boolean caseSensitive)` Replace in object by replaceBy
    `void` | `save(String headFile)` Save the header data to a file.
    `int` | `size()` Return the number of headers.

    - ### Methods inherited from class org.apache.jmeter.config.ConfigTestElement

      `addConfigElement, addTestElement, expectsModification`

    - ### Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

      `addPropertiesValues, addProperty, addProperty, canRemove, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.jmeter.config.ConfigElement

      `clone`

    - ### Methods inherited from interface org.apache.jmeter.testelement.TestElement

      `removed`

- - ### Field Detail

    - #### HEADERS

          public static final String HEADERS

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### HeaderManager

          public HeaderManager()

  - ### Method Detail

    - #### clear

          public void clear()

      Clear the TestElement of all data.
      Specified by:
        `clear` in interface `TestElement`
      Overrides:
        `clear` in class `AbstractTestElement`

    - #### getHeaders

          public CollectionProperty getHeaders()

      Get the collection of JMeterProperty entries representing the headers.
      Returns:
        the header collection property

    - #### getColumnCount

          public int getColumnCount()

    - #### getColumnName

          public String getColumnName(int column)

    - #### getColumnClass

          public Class<? extends String> getColumnClass(int column)

    - #### getHeader

          public Header getHeader(int row)

    - #### save

          public void save(String headFile)
                    throws IOException

      Save the header data to a file.
      Parameters:
        `headFile` - name of the file to store headers into. If name is relative the system property `user.dir` will be prepended
      Throws:
        `IOException` - if writing the headers fails

    - #### addFile

          public void addFile(String headerFile)
                       throws IOException

      Add header data from a file.
      Parameters:
        `headerFile` - name of the file to read headers from. If name is relative the system property `user.dir` will be prepended
      Throws:
        `IOException` - if reading headers fails

    - #### add

          public void add(Header h)

      Add a header.
      Parameters:
        `h` - `Header` to add

    - #### add

          public void add()

      Add an empty header.

    - #### remove

          public void remove(int index)

      Remove a header.
      Parameters:
        `index` - index from the header to remove

    - #### size

          public int size()

      Return the number of headers.
      Returns:
        number of headers

    - #### get

          public Header get(int i)

      Return the header at index i.
      Parameters:
        `i` - index of the header to get
      Returns:
        `Header` at index `i`

    - #### getFirstHeaderNamed

          public Header getFirstHeaderNamed(String name)

      Get the first header from Headers by the header name, or `null` if not found.
      Parameters:
        `name` - header name
      Returns:
        the first header from Headers by the header name, or `null` if not found

    - #### removeHeaderNamed

          public void removeHeaderNamed(String name)

      Remove from Headers the header named name
      Parameters:
        `name` - header name

    - #### merge

          @Deprecated
          public HeaderManager merge(TestElement element,
                                                 boolean preferLocalValues)

      Deprecated. since 3.2, use `merge(TestElement)` as this method will be removed in a future version
      Merge the attributes with a another HeaderManager's attributes.
      Parameters:
        `element` - The object to be merged with
        `preferLocalValues` - Not used
      Returns:
        merged HeaderManager
      Throws:
        `IllegalArgumentException` - if `element` is not an instance of `HeaderManager`

    - #### merge

          public HeaderManager merge(TestElement element)

      Merge the attributes with a another HeaderManager's attributes.
      Parameters:
        `element` - The object to be merged with
      Returns:
        merged HeaderManager
      Throws:
        `IllegalArgumentException` - if `element` is not an instance of `HeaderManager`

    - #### replace

          public int replace(String regex,
                             String replaceBy,
                             boolean caseSensitive)
                      throws Exception

      Description copied from interface: `Replaceable`
      Replace in object by replaceBy
      Specified by:
        `replace` in interface `Replaceable`
      Parameters:
        `regex` - Regular expression to search for
        `replaceBy` - Text used as replacement
        `caseSensitive` - flag, whether search should be done case sensitive
      Returns:
        number of replacements
      Throws:
        `Exception` - when something fails while replacing

Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.