Class: Protocol::HTTP::Header::AcceptEncoding

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

Overview

The ‘accept-encoding` header represents a list of encodings that the client can accept.

Defined Under Namespace

Classes: Encoding

Constant Summary collapse

ParseError =
Class.new(Error)
QVALUE =
/0(\.[0-9]{0,3})?|1(\.[0]{0,3})?/
ENCODING =
/\A(?<name>#{TOKEN})(;q=(?<q>#{QVALUE}))?\z/

Constants inherited from Split

Split::COMMA

Instance Method Summary collapse

Methods inherited from Split

#<<, #initialize, #to_s

Constructor Details

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

Instance Method Details

#encodingsObject

Parse the ‘accept-encoding` header value into a list of encodings.



36
37
38
39
40
41
42
43
44
# File 'lib/protocol/http/header/accept_encoding.rb', line 36

def encodings
	self.map do |value|
		if match = value.match(ENCODING)
			Encoding.new(match[:name], match[:q])
		else
			raise ParseError.new("Could not parse encoding: #{value.inspect}")
		end
	end
end