Protocol::HTTPSourceProtocolHTTPHeaderSplit

class Split

Represents headers that can contain multiple distinct values separated by commas.

This isn't a specific header class is a utility for handling headers with comma-separated values, such as accept, cache-control, and other similar headers. The values are split and stored as an array internally, and serialized back to a comma-separated string when needed.

Definitions

COMMA = /\s*,\s*/

Regular expression used to split values on commas, with optional surrounding whitespace.

def initialize(value = nil)

Initializes a Split header with the given value. If the value is provided, it is split into distinct entries and stored as an array.

Signature

parameter value String | Nil

the raw header value containing multiple entries separated by commas, or nil for an empty header.

Implementation

def initialize(value = nil)
	if value
		super(value.split(COMMA))
	else
		super()
	end
end

def << value

Adds one or more comma-separated values to the header.

The input string is split into distinct entries and appended to the array.

Signature

parameter value String

the value or values to add, separated by commas.

Implementation

def << value
	self.push(*value.split(COMMA))
end

def to_s

Serializes the stored values into a comma-separated string.

Signature

returns String

the serialized representation of the header values.

Implementation

def to_s
	join(",")
end