class Rack::UsefulProcline
Constants
- VERSION
Attributes
config[RW]
app[RW]
config[RW]
Public Class Methods
configure() { |config| ... }
click to toggle source
# File lib/rack/useful_procline.rb, line 12 def configure @config ||= Config.new yield(config) if block_given? @config end
new(app)
click to toggle source
# File lib/rack/useful_procline.rb, line 34 def initialize(app) @app = app @config = Rack::UsefulProcline.configure end
Public Instance Methods
call(env)
click to toggle source
Public
# File lib/rack/useful_procline.rb, line 40 def call(env) @request = Request.new(env) prefix = $0.split(']')[0] + "]" procline = prefix.dup procline = procline_before_request(procline) set_procline(procline[0..200]) status, headers, body = @app.call(env) procline = prefix.dup procline = procline_after_request(procline, status) set_procline(procline) [status, headers, body] end
procline_after_request(procline, status)
click to toggle source
# File lib/rack/useful_procline.rb, line 91 def procline_after_request(procline, status) procline.concat(" : last status: #{status}.") if @config.opts[:show_request_uuid] uuid = request_uuid || "No request uuid found" procline += " last request_uuid: #{uuid}." end procline += " Waiting for req." end
procline_before_request(procline)
click to toggle source
# File lib/rack/useful_procline.rb, line 67 def procline_before_request(procline) if @config.opts[:show_request_method] && @request procline.concat(" : #{@request.request_method}") end if @config.opts[:show_request_path] && @request procline.concat(" : #{@request.path_info}") end if @config.opts[:show_request_uuid] uuid = request_uuid || "No request uuid found" procline.concat(" : #{uuid}") end procline end
request_uuid()
click to toggle source
# File lib/rack/useful_procline.rb, line 84 def request_uuid if @request uuid = @request.uuid(@config.opts[:request_uuid_key]) uuid[0..7] if uuid end end
sanitize_utf8(string)
click to toggle source
# File lib/rack/useful_procline.rb, line 62 def sanitize_utf8(string) return string.force_encoding('utf-8') if string.valid_encoding? string.chars.select(&:valid_encoding?).join.force_encoding('utf-8') end
set_procline(value)
click to toggle source
# File lib/rack/useful_procline.rb, line 58 def set_procline(value) $0 = sanitize_utf8(value) end