class Wovn::ReverseProxy::Wovnrb
Fixed Wovnrb
for reverse proxy.
Public Class Methods
new(app, opts = {})
click to toggle source
Calls superclass method
# File lib/wovn/reverse_proxy/wovnrb.rb, line 7 def initialize(app, opts = {}) super @setting_keys = @store.instance_eval { @settings.keys } end
Public Instance Methods
call(env)
click to toggle source
Calls superclass method
# File lib/wovn/reverse_proxy/wovnrb.rb, line 12 def call(env) opts = get_wovn_settings(env) @store.reset @store.settings(opts) super end
Private Instance Methods
get_appropriate_value(key, value)
click to toggle source
# File lib/wovn/reverse_proxy/wovnrb.rb, line 30 def get_appropriate_value(key, value) if key == 'query' || key == 'supported_langs' value = value.split(/,/) elsif key == 'test_mode' || key == 'use_proxy' value = true? value end value end
get_wovn_settings(env)
click to toggle source
# File lib/wovn/reverse_proxy/wovnrb.rb, line 21 def get_wovn_settings(env) @setting_keys.each_with_object({}) do |key, params| env_key = "HTTP_X_WOVN_#{key.upcase}" value = env[env_key] next unless value params[key] = get_appropriate_value(key, value) end end
true?(value)
click to toggle source
# File lib/wovn/reverse_proxy/wovnrb.rb, line 39 def true?(value) return true if value.to_s.casecmp('true').zero? return true if value.to_s.casecmp('on').zero? return true if value.to_s == '1' false end