Constructs a new instance of the class with the provided header definition or string.
A HeaderDefinition
object or a string representing a single header.
If a string is provided, it will be parsed into a header object.
Optional
name: string(Optional) A string that overrides the key
property of the header.
If not provided, the name
property from the opts
object will be used.
Protected
_A reference to the parent property, if any. This allows for hierarchical
relationships between properties. If no parent exists, the value will be undefined
.
Protected
Optional
descriptionAn optional description providing additional details or context.
Optional
disabledIndicates whether the property is disabled.
When set to true
, the property is considered inactive or unavailable.
A unique identifier represented as a string.
Represents the name of the header.
Optional
nameThe optional name property. This can be used to specify a name or identifier.
Represents the value of a header.
Sets the description and type name for the current object.
The description content to be assigned.
The type name to categorize the object.
Traverses up the parent hierarchy to find an ancestor that contains the specified property. Optionally, a customizer function can be provided to determine if the ancestor should be returned.
The name of the property to search for in the ancestors.
Optional
customizer: (ancester: PropertyBase) => booleanAn optional function that takes an ancestor as input and returns a boolean. If provided, the traversal continues until the customizer returns a truthy value. If not provided, the traversal stops at the first ancestor that contains the property.
The first ancestor that satisfies the search criteria, or undefined
if no such ancestor is found.
Iterates through the parent hierarchy of the current object, starting from its immediate parent.
The iteration continues until the provided iterator function returns false
or there are no more parents.
Options to control the iteration behavior.
withRoot
(optional): A flag to include the root object in the iteration.A callback function that is invoked for each parent object in the hierarchy.
false
, the iteration stops.An array of cloned parent objects that were iterated over.
Retrieves metadata associated with the current context. Currently it returns an empty object as no metadata keys is defined.
An object representing the metadata.
Retrieves the parent object associated with the current instance.
The parent object of the current instance.
Converts the current object instance into a JSON-serializable representation.
A plain object containing the filtered properties of the current instance, suitable for JSON serialization.
Converts the current instance to a plain JavaScript object.
This method internally calls toJSON()
to perform the conversion.
A plain JavaScript object representation of the instance.
Converts the current object to a JSON string representation.
A JSON string representation of the object.
Updates the current header with a new key-value pair.
An object containing the new key and value for the header.
key
: The new key for the header.value
: The new value for the header.Return the value of the current object.
The value associated with the current object.
Static
createCreates a new Header
instance.
Optional
input: string | { key: string; value: string }An object containing key
and value
properties, or a string.
If not provided, defaults to an object with empty key
and value
.
Optional
name: stringAn optional name for the header.
A new Header
instance.
Static
isDetermines if the given object is a Header object.
The object to check.
true
if the object is a Header, otherwise false
.
Static
parseParses a header string into an array of key-value pair objects.
The input string is expected to have headers separated by newline characters.
Each non-empty line is processed and converted into an object with key
and value
properties.
The raw header string to be parsed.
An array of objects, where each object represents a header with key
and value
properties.
Static
parseParses a single HTTP header string into an object containing the key and value.
The input string should follow the format Key: Value
, where the first colon (:
)
separates the header key from its value. Leading and trailing whitespace around
the key and value will be trimmed.
The HTTP header string to parse.
An object containing the key
and value
of the header.
Static
propertyDetermines if a given property key is considered a "meta" property.
In the context of Insomnia, meta properties are defined as those
that start with an underscore (_
). The underscore character itself
is also rejected as a valid meta property key.
The value associated with the property (currently unused in this method).
The property key to evaluate.
true
if the key starts with an underscore (_
), otherwise false
.
Static
propertyRemoves the leading underscore ('_') from the beginning of a given property key.
The value associated with the property (unused in this method).
The property key to process.
The property key without the leading underscore.
Static
replaceReplaces placeholders in the given content string with values from the provided variables. The placeholders are resolved using an interpolation mechanism, and the variables are merged in reverse order to determine the final context for substitution.
The string containing placeholders to be replaced.
A list of objects containing key-value pairs for substitution. The objects are merged in reverse order to form the final context.
The content string with placeholders replaced by corresponding values from the context.
Static
replaceReplaces substitutions in the given object using the provided variables.
This method takes an object and a list of variable objects, and replaces placeholders in the object with corresponding values from the variables. The variables are merged in reverse order, meaning the last variable in the list has the highest priority.
The object containing placeholders to be replaced.
A list of objects containing substitution values.
A new object with substitutions replaced.
Static
unparseConverts an array of headers into a single string representation.
An array of header objects, each containing a key
and value
property,
or a PropertyList
of Header
objects.
Optional
separator: stringAn optional string used to separate the headers in the resulting string.
Defaults to a newline character (\n
) if not provided.
A string representation of the headers, joined by the specified separator.
Static
unparseConverts a header object into a single header string in the format "key: value".
The header object to unparse. It can either be an object with
key
and value
properties or an instance of the Header
class.
The header represented as a string in the format "key: value".
Represents an HTTP header with a key-value pair structure.
This class provides methods for creating, parsing, and manipulating HTTP headers. It extends the
Property
class and includes additional functionality specific to headers.Remarks
Header
class supports parsing raw header strings into structured objects.key
property represents the header name, while thevalue
property represents its value.Example