class WebSocket::Driver::Headers

Constants

ALLOWED_DUPLICATES

Public Class Methods

new(received = {}) click to toggle source
# File lib/websocket/driver/headers.rb, line 7
def initialize(received = {})
  @raw   = received
  @sent  = Set.new
  @lines = []

  @received = {}
  @raw.each { |k,v| @received[HTTP.normalize_header(k)] = v }
end

Public Instance Methods

[](name) click to toggle source
# File lib/websocket/driver/headers.rb, line 16
def [](name)
  @received[HTTP.normalize_header(name)]
end
[]=(name, value) click to toggle source
# File lib/websocket/driver/headers.rb, line 20
def []=(name, value)
  return if value.nil?
  key = HTTP.normalize_header(name)
  return unless @sent.add?(key) or ALLOWED_DUPLICATES.include?(key)
  @lines << "#{name.strip}: #{value.to_s.strip}\r\n"
end
inspect() click to toggle source
# File lib/websocket/driver/headers.rb, line 27
def inspect
  @raw.inspect
end
to_h() click to toggle source
# File lib/websocket/driver/headers.rb, line 31
def to_h
  @raw.dup
end
to_s() click to toggle source
# File lib/websocket/driver/headers.rb, line 35
def to_s
  @lines.join('')
end