Protocol::HTTPSourceProtocolHTTPHeaderMultiple

class Multiple

Represents headers that can contain multiple distinct values separated by newline characters.

This isn't a specific header but is used as a base for headers that store multiple values, such as cookies. The values are split and stored as an array internally, and serialized back to a newline-separated string when needed.

Definitions

def initialize(value)

Initializes the multiple header with the given value. As the header key-value pair can only contain one value, the value given here is added to the internal array, and subsequent values can be added using the << operator.

Signature

parameter value String

the raw header value.

Implementation

def initialize(value)
	super()
	
	self << value
end

def to_s

Serializes the stored values into a newline-separated string.

Signature

returns String

the serialized representation of the header values.

Implementation

def to_s
	join("\n")
end

def self.trailer?

Whether this header is acceptable in HTTP trailers. This is a base class for headers with multiple values, default is to disallow in trailers.

Signature

returns Boolean

false, as most multiple-value headers should not appear in trailers by default.

Implementation

def self.trailer?
	false
end