class PermessageDeflate::ClientSession
Public Class Methods
valid_params?(params)
click to toggle source
Calls superclass method
# File lib/permessage_deflate/client_session.rb, line 4 def self.valid_params?(params) return false unless super if params.has_key?('client_max_window_bits') return false unless VALID_WINDOW_BITS.include?(params['client_max_window_bits']) end true end
Public Instance Methods
activate(params)
click to toggle source
# File lib/permessage_deflate/client_session.rb, line 44 def activate(params) return false unless ClientSession.valid_params?(params) if @accept_max_window_bits and params['client_max_window_bits'] return false if params['client_max_window_bits'] > @accept_max_window_bits end if @request_no_context_takeover and !params['server_no_context_takeover'] return false end if @request_max_window_bits return false unless params['server_max_window_bits'] return false if params['server_max_window_bits'] > @request_max_window_bits end @own_context_takeover = !(@accept_no_context_takeover || params['client_no_context_takeover']) @own_window_bits = [ @accept_max_window_bits || MAX_WINDOW_BITS, params['client_max_window_bits'] || MAX_WINDOW_BITS ].min @peer_context_takeover = !params['server_no_context_takeover'] @peer_window_bits = params['server_max_window_bits'] || MAX_WINDOW_BITS true end
generate_offer()
click to toggle source
# File lib/permessage_deflate/client_session.rb, line 14 def generate_offer offer = {} if @accept_no_context_takeover offer['client_no_context_takeover'] = true end if @accept_max_window_bits unless VALID_WINDOW_BITS.include?(@accept_max_window_bits) raise ConfigurationError, 'Invalid value for max_window_bits' end offer['client_max_window_bits'] = @accept_max_window_bits else offer['client_max_window_bits'] = true end if @request_no_context_takeover offer['server_no_context_takeover'] = true end if @request_max_window_bits unless VALID_WINDOW_BITS.include?(@request_max_window_bits) raise ConfigurationError, 'Invalid value for request_max_window_bits' end offer['server_max_window_bits'] = @request_max_window_bits end offer end