class Rack::MiniProfiler::ClientSettings
Constants
- BACKTRACE_DEFAULT
- BACKTRACE_FULL
- BACKTRACE_NONE
- COOKIE_NAME
Attributes
backtrace_level[RW]
disable_profiling[RW]
Public Class Methods
new(env, store, start)
click to toggle source
# File lib/mini_profiler/client_settings.rb, line 15 def initialize(env, store, start) request = ::Rack::Request.new(env) @cookie = request.cookies[COOKIE_NAME] @store = store @start = start @allowed_tokens, @orig_auth_tokens = nil if @cookie @cookie.split(",").map{|pair| pair.split("=")}.each do |k,v| @orig_disable_profiling = @disable_profiling = (v=='t') if k == "dp" @backtrace_level = v.to_i if k == "bt" @orig_auth_tokens = v.to_s.split("|") if k == "a" end end if !@backtrace_level.nil? && (@backtrace_level == 0 || @backtrace_level > BACKTRACE_NONE) @backtrace_level = nil end @orig_backtrace_level = @backtrace_level end
Public Instance Methods
backtrace_default?()
click to toggle source
# File lib/mini_profiler/client_settings.rb, line 107 def backtrace_default? @backtrace_level == BACKTRACE_DEFAULT end
backtrace_full?()
click to toggle source
# File lib/mini_profiler/client_settings.rb, line 103 def backtrace_full? @backtrace_level == BACKTRACE_FULL end
backtrace_none?()
click to toggle source
# File lib/mini_profiler/client_settings.rb, line 111 def backtrace_none? @backtrace_level == BACKTRACE_NONE end
disable_profiling?()
click to toggle source
# File lib/mini_profiler/client_settings.rb, line 99 def disable_profiling? @disable_profiling end
write!(headers)
click to toggle source
# File lib/mini_profiler/client_settings.rb, line 55 def write!(headers) tokens_changed = false if MiniProfiler.request_authorized? && MiniProfiler.config.authorization_mode == :whitelist @allowed_tokens ||= @store.allowed_tokens tokens_changed = !@orig_auth_tokens || ((@allowed_tokens - @orig_auth_tokens).length > 0) end if @orig_disable_profiling != @disable_profiling || @orig_backtrace_level != @backtrace_level || @cookie.nil? || tokens_changed settings = {"p" => "t" } settings["dp"] = "t" if @disable_profiling settings["bt"] = @backtrace_level if @backtrace_level settings["a"] = @allowed_tokens.join("|") if @allowed_tokens && MiniProfiler.request_authorized? settings_string = settings.map{|k,v| "#{k}=#{v}"}.join(",") Rack::Utils.set_cookie_header!(headers, COOKIE_NAME, :value => settings_string, :path => '/') end end