Class: Protocol::HTTP::Header::Vary

Inherits:
Split
  • Object
show all
Defined in:
lib/protocol/http/header/vary.rb

Overview

Represents the ‘vary` header, which specifies the request headers a server considers when determining the response.

The ‘vary` header is used in HTTP responses to indicate which request headers affect the selected response. It allows caches to differentiate stored responses based on specific request headers.

Constant Summary

Constants inherited from Split

Split::COMMA

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Split

#initialize, #to_s, trailer?

Constructor Details

This class inherits a constructor from Protocol::HTTP::Header::Split

Class Method Details

.coerce(value) ⇒ Object

Coerces a value into a parsed header object.



27
28
29
30
31
32
33
34
# File 'lib/protocol/http/header/vary.rb', line 27

def self.coerce(value)
  case value
  when Array
    self.new(value.map(&:downcase))
  else
    self.parse(value.to_s)
  end
end

.parse(value) ⇒ Object

Parses a raw header value.



19
20
21
# File 'lib/protocol/http/header/vary.rb', line 19

def self.parse(value)
  self.new(value.downcase.split(COMMA))
end

Instance Method Details

#<<(value) ⇒ Object

Adds one or more comma-separated values to the ‘vary` header. The values are converted to lowercase for normalization.



39
40
41
# File 'lib/protocol/http/header/vary.rb', line 39

def << value
  super(value.downcase)
end