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
  clear

  @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 20
def [](name)
  @received[HTTP.normalize_header(name)]
end
[]=(name, value) click to toggle source
# File lib/websocket/driver/headers.rb, line 24
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
clear() click to toggle source
# File lib/websocket/driver/headers.rb, line 15
def clear
  @sent  = Set.new
  @lines = []
end
inspect() click to toggle source
# File lib/websocket/driver/headers.rb, line 31
def inspect
  @raw.inspect
end
to_h() click to toggle source
# File lib/websocket/driver/headers.rb, line 35
def to_h
  @raw.dup
end
to_s() click to toggle source
# File lib/websocket/driver/headers.rb, line 39
def to_s
  @lines.join('')
end