Class: Soren::Parsers::Response::Headers
- Defined in:
- lib/soren/parsers/response/headers.rb
Instance Method Summary collapse
-
#initialize(header_lines) ⇒ Headers
constructor
: (untyped) -> void.
-
#parse ⇒ Object
: -> Hash[String, Array].
Constructor Details
#initialize(header_lines) ⇒ Headers
: (untyped) -> void
9 10 11 |
# File 'lib/soren/parsers/response/headers.rb', line 9 def initialize(header_lines) @header_lines = header_lines #: untyped end |
Instance Method Details
#parse ⇒ Object
: -> Hash[String, Array]
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/soren/parsers/response/headers.rb', line 14 def parse parsed_headers = {} #: Hash[String, Array[String]] Array(@header_lines).each do |line| next if line.blank? key, value = line.split(':', 2) unless key && value raise Soren::Error::ParseError, 'invalid HTTP header line' end normalized_key = key.strip.downcase values = (parsed_headers[normalized_key] ||= []) values << value.strip end parsed_headers end |