class WebSocket::Driver::Headers

def [](name)

def [](name)
  @received[HTTP.normalize_header(name)]
end

def []=(name, value)

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

def clear

def clear
  @sent  = Set.new
  @lines = []
end

def initialize(received = {})

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

def inspect

def inspect
  @raw.inspect
end

def to_h

def to_h
  @raw.dup
end

def to_s

def to_s
  @lines.join('')
end