http.rb
initialize
/usr/share/ruby/net/http.rb
in
initialize
else
conn_address = address
conn_port = port
end
D "opening connection to #{conn_address}:#{conn_port}..."
s = Timeout.timeout(@open_timeout, Net::OpenTimeout) {
TCPSocket.open(conn_address, conn_port, @local_host, @local_port)
}
D "opened"
if use_ssl?
ssl_parameters = Hash.new
iv_list = instance_variables
SSL_IVNAMES.each_with_index do |ivname, i|
if iv_list.include?(ivname) and
/usr/share/ruby/net/http.rb
in
open
else
conn_address = address
conn_port = port
end
D "opening connection to #{conn_address}:#{conn_port}..."
s = Timeout.timeout(@open_timeout, Net::OpenTimeout) {
TCPSocket.open(conn_address, conn_port, @local_host, @local_port)
}
D "opened"
if use_ssl?
ssl_parameters = Hash.new
iv_list = instance_variables
SSL_IVNAMES.each_with_index do |ivname, i|
if iv_list.include?(ivname) and
/usr/share/ruby/net/http.rb
in
block in connect
else
conn_address = address
conn_port = port
end
D "opening connection to #{conn_address}:#{conn_port}..."
s = Timeout.timeout(@open_timeout, Net::OpenTimeout) {
TCPSocket.open(conn_address, conn_port, @local_host, @local_port)
}
D "opened"
if use_ssl?
ssl_parameters = Hash.new
iv_list = instance_variables
SSL_IVNAMES.each_with_index do |ivname, i|
if iv_list.include?(ivname) and
/usr/share/ruby/timeout.rb
in
timeout
# Returns the result of the block *if* the block completed before
# +sec+ seconds, otherwise throws an exception, based on the value of +klass+.
#
# Note that this is both a method of module Timeout, so you can <tt>include
# Timeout</tt> into your classes so they have a #timeout method, as well as
# a module method, so you can call it directly as Timeout.timeout().
def timeout(sec, klass = nil) #:yield: +sec+
return yield(sec) if sec == nil or sec.zero?
exception = klass || Class.new(ExitException)
begin
begin
x = Thread.current
y = Thread.start {
begin
sleep sec
/usr/share/ruby/net/http.rb
in
connect
conn_port = proxy_port
else
conn_address = address
conn_port = port
end
D "opening connection to #{conn_address}:#{conn_port}..."
s = Timeout.timeout(@open_timeout, Net::OpenTimeout) {
TCPSocket.open(conn_address, conn_port, @local_host, @local_port)
}
D "opened"
if use_ssl?
ssl_parameters = Hash.new
iv_list = instance_variables
SSL_IVNAMES.each_with_index do |ivname, i|
/usr/share/ruby/net/http.rb
in
do_start
end
end
do_start
self
end
def do_start
connect
@started = true
end
private :do_start
def connect
if proxy? then
conn_address = proxy_address
/usr/share/ruby/net/http.rb
in
start
# When called with a block, it returns the return value of the
# block; otherwise, it returns self.
#
def start # :yield: http
raise IOError, 'HTTP session already opened' if @started
if block_given?
begin
do_start
return yield(self)
ensure
do_finish
end
end
do_start
self
/usr/share/ruby/net/http.rb
in
request
# the block can process it using HTTPResponse#read_body,
# if desired.
#
# This method never raises Net::* exceptions.
#
def request(req, body = nil, &block) # :yield: +response+
unless started?
start {
req['connection'] ||= 'close'
return request(req, body, &block)
}
end
if proxy_user()
req.proxy_basic_auth proxy_user(), proxy_pass() unless use_ssl?
end
/usr/share/gems/gems/rest-client-1.6.7/lib/restclient/net_http_ext.rb
in
request
alias __request__ request
def request(req, body=nil, &block)
if body != nil && body.respond_to?(:read)
req.body_stream = body
return __request__(req, nil, &block)
else
return __request__(req, body, &block)
end
end
end
end
/usr/share/gems/gems/smart_proxy_openscap-0.6.8/lib/smart_proxy_openscap/foreman_forwarder.rb
in
send_request
def send_request(path, body)
# Override the parent method to set the right headers
path = [uri.path, path].join('/') unless uri.path.empty?
req = Net::HTTP::Post.new(URI.join(uri.to_s, path).path)
req.add_field('Accept', 'application/json,version=2')
req.content_type = 'application/json'
req.body = body
http.request(req)
end
end
end
/usr/share/gems/gems/smart_proxy_openscap-0.6.8/lib/smart_proxy_openscap/foreman_forwarder.rb
in
post_arf_report
class ForemanForwarder < Proxy::HttpRequest::ForemanRequest
include ::Proxy::Log
def post_arf_report(cname, policy_id, date, data)
begin
foreman_api_path = upload_path(cname, policy_id, date)
json = Proxy::OpenSCAP::ArfParser.new(cname, policy_id, date).as_json(data)
response = send_request(foreman_api_path, json)
# Raise an HTTP error if the response is not 2xx (success).
response.value
res = JSON.parse(response.body)
raise StandardError, "Received response: #{response.code} #{response.msg}" unless res['result'] == 'OK'
rescue StandardError => e
logger.debug response.body if response
logger.debug e.backtrace.join("\n\t")
/usr/share/gems/gems/smart_proxy_openscap-0.6.8/lib/smart_proxy_openscap/openscap_api.rb
in
block in <class:Api>
rescue Proxy::Error::Unauthorized => e
log_halt 403, "Client authentication failed: #{e.message}"
end
date = Time.now.to_i
policy = params[:policy]
begin
post_to_foreman = ForemanForwarder.new.post_arf_report(cn, policy, date, request.body.string)
Proxy::OpenSCAP::StorageFS.new(Proxy::OpenSCAP::Plugin.settings.reportsdir, cn, post_to_foreman['id'], date).store_archive(request.body.string)
rescue Proxy::OpenSCAP::StoreReportError => e
Proxy::OpenSCAP::StorageFS.new(Proxy::OpenSCAP::Plugin.settings.failed_dir, cn, post_to_foreman['id'], date).store_failed(request.body.string)
logger.error "Failed to save Report in reports directory (#{Proxy::OpenSCAP::Plugin.settings.reportsdir}). Failed with: #{e.message}.
Saving file in #{Proxy::OpenSCAP::Plugin.settings.failed_dir}. Please copy manually to #{Proxy::OpenSCAP::Plugin.settings.reportsdir}"
rescue Proxy::OpenSCAP::OpenSCAPException => e
logger.error "Failed to parse Arf Report, moving to #{Proxy::OpenSCAP::Plugin.settings.corrupted_dir}"
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
call
method_name = "#{verb} #{path}"
unbound_method = generate_method(method_name, &block)
pattern, keys = compile path
conditions, @conditions = @conditions, []
wrapper = block.arity != 0 ?
proc { |a,p| unbound_method.bind(a).call(*p) } :
proc { |a,p| unbound_method.bind(a).call }
wrapper.instance_variable_set(:@route_name, method_name)
[ pattern, keys, conditions, wrapper ]
end
def compile(path)
if path.respond_to? :to_str
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block in compile!
method_name = "#{verb} #{path}"
unbound_method = generate_method(method_name, &block)
pattern, keys = compile path
conditions, @conditions = @conditions, []
wrapper = block.arity != 0 ?
proc { |a,p| unbound_method.bind(a).call(*p) } :
proc { |a,p| unbound_method.bind(a).call }
wrapper.instance_variable_set(:@route_name, method_name)
[ pattern, keys, conditions, wrapper ]
end
def compile(path)
if path.respond_to? :to_str
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
[]
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, keys, conditions, block|
returned_pass_block = process_route(pattern, keys, conditions) do |*args|
env['sinatra.route'] = block.instance_variable_get(:@route_name)
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block (3 levels) in route!
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, keys, conditions, block|
returned_pass_block = process_route(pattern, keys, conditions) do |*args|
env['sinatra.route'] = block.instance_variable_get(:@route_name)
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
route_eval
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
# If the current request matches pattern and conditions, fill params
# with keys and call the given block.
# Revert params afterwards.
#
# Returns pass block.
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block (2 levels) in route!
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, keys, conditions, block|
returned_pass_block = process_route(pattern, keys, conditions) do |*args|
env['sinatra.route'] = block.instance_variable_get(:@route_name)
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block in process_route
if values.any?
original, @params = params, params.merge('splat' => [], 'captures' => values)
keys.zip(values) { |k,v| Array === @params[k] ? @params[k] << v : @params[k] = v if v }
end
catch(:pass) do
conditions.each { |c| throw :pass if c.bind(self).call == false }
block ? block[self, values] : yield(self, values)
end
ensure
@params = original if original
end
# No matching route was found or all routes passed. The default
# implementation is to forward the request downstream when running
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
catch
values += match.captures.map! { |v| force_encoding URI_INSTANCE.unescape(v) if v }
if values.any?
original, @params = params, params.merge('splat' => [], 'captures' => values)
keys.zip(values) { |k,v| Array === @params[k] ? @params[k] << v : @params[k] = v if v }
end
catch(:pass) do
conditions.each { |c| throw :pass if c.bind(self).call == false }
block ? block[self, values] : yield(self, values)
end
ensure
@params = original if original
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
process_route
values += match.captures.map! { |v| force_encoding URI_INSTANCE.unescape(v) if v }
if values.any?
original, @params = params, params.merge('splat' => [], 'captures' => values)
keys.zip(values) { |k,v| Array === @params[k] ? @params[k] << v : @params[k] = v if v }
end
catch(:pass) do
conditions.each { |c| throw :pass if c.bind(self).call == false }
block ? block[self, values] : yield(self, values)
end
ensure
@params = original if original
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block in route!
base.filters[type].each { |args| process_route(*args) }
end
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, keys, conditions, block|
returned_pass_block = process_route(pattern, keys, conditions) do |*args|
env['sinatra.route'] = block.instance_variable_get(:@route_name)
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
each
filter! type, base.superclass if base.superclass.respond_to?(:filters)
base.filters[type].each { |args| process_route(*args) }
end
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, keys, conditions, block|
returned_pass_block = process_route(pattern, keys, conditions) do |*args|
env['sinatra.route'] = block.instance_variable_get(:@route_name)
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
route!
filter! type, base.superclass if base.superclass.respond_to?(:filters)
base.filters[type].each { |args| process_route(*args) }
end
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, keys, conditions, block|
returned_pass_block = process_route(pattern, keys, conditions) do |*args|
env['sinatra.route'] = block.instance_variable_get(:@route_name)
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block in dispatch!
end
# Dispatch a request with error handling.
def dispatch!
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before
route!
end
rescue ::Exception => boom
invoke { handle_exception!(boom) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => boom
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block in invoke
# Creates a Hash with indifferent access.
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke
res = catch(:halt) { yield }
res = [res] if Fixnum === res or String === res
if Array === res and Fixnum === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
elsif res.respond_to? :each
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
catch
# Creates a Hash with indifferent access.
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke
res = catch(:halt) { yield }
res = [res] if Fixnum === res or String === res
if Array === res and Fixnum === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
elsif res.respond_to? :each
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
invoke
# Creates a Hash with indifferent access.
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke
res = catch(:halt) { yield }
res = [res] if Fixnum === res or String === res
if Array === res and Fixnum === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
elsif res.respond_to? :each
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
dispatch!
body res
end
nil # avoid double setting the same response tuple twice
end
# Dispatch a request with error handling.
def dispatch!
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before
route!
end
rescue ::Exception => boom
invoke { handle_exception!(boom) }
ensure
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block in call!
@request = Request.new(env)
@response = Response.new
@params = indifferent_params(@request.params)
template_cache.clear if settings.reload_templates
force_encoding(@params)
@response['Content-Type'] = nil
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body and body[0].respond_to? :content_type
content_type body[0].content_type
else
content_type :html
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block in invoke
# Creates a Hash with indifferent access.
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke
res = catch(:halt) { yield }
res = [res] if Fixnum === res or String === res
if Array === res and Fixnum === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
elsif res.respond_to? :each
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
catch
# Creates a Hash with indifferent access.
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke
res = catch(:halt) { yield }
res = [res] if Fixnum === res or String === res
if Array === res and Fixnum === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
elsif res.respond_to? :each
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
invoke
# Creates a Hash with indifferent access.
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke
res = catch(:halt) { yield }
res = [res] if Fixnum === res or String === res
if Array === res and Fixnum === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
elsif res.respond_to? :each
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
call!
@request = Request.new(env)
@response = Response.new
@params = indifferent_params(@request.params)
template_cache.clear if settings.reload_templates
force_encoding(@params)
@response['Content-Type'] = nil
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body and body[0].respond_to? :content_type
content_type body[0].content_type
else
content_type :html
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
call
@app = app
@template_cache = Tilt::Cache.new
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@request = Request.new(env)
@response = Response.new
@params = indifferent_params(@request.params)
/usr/share/gems/gems/rack-1.6.4/lib/rack/commonlogger.rb
in
call
def initialize(app, logger=nil)
@app = app
@logger = logger
end
def call(env)
began_at = Time.now
status, header, body = @app.call(env)
header = Utils::HeaderHash.new(header)
body = BodyProxy.new(body) { log(env, status, header, began_at) }
[status, header, body]
end
private
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
call
env['sinatra.commonlogger'] ? @app.call(env) : super
end
superclass.class_eval do
alias call_without_check call unless method_defined? :call_without_check
def call(env)
env['sinatra.commonlogger'] = true
call_without_check(env)
end
end
end
class NotFound < NameError #:nodoc:
def http_status; 404 end
end
/usr/share/foreman-proxy/lib/proxy/log.rb
in
call
def initialize(app)
@app = app
end
def call(env)
env['rack.logger'] = logger
@app.call(env)
end
end
end
/usr/share/foreman-proxy/lib/proxy/request_id_middleware.rb
in
call
class RequestIdMiddleware
def initialize(app)
@app = app
end
def call(env)
Thread.current.thread_variable_set(:request_id, env['HTTP_X_REQUEST_ID']) if env.has_key?('HTTP_X_REQUEST_ID')
status, header, body = @app.call(env)
[status, header, ::Rack::BodyProxy.new(body) { Thread.current.thread_variable_set(:request_id, nil) }]
end
end
end
/usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options :xss_mode => :block, :nosniff => true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env["PATH_INFO"]
env["PATH_INFO"] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env["PATH_INFO"] = path_was
end
def cleanup(path)
if path.respond_to?(:encoding)
# Ruby 1.9+ M17N
/usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb
in
call
# Array prototype has been patched to track data. Checks the referrer
# even on GET requests if the content type is JSON.
class JsonCsrf < Base
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector? request, headers
warn env, "attack prevented by #{self.class}"
react(env) or [status, headers, body]
else
[status, headers, body]
end
/usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if Array === result and result.size == 3
end
/usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if Array === result and result.size == 3
end
/usr/share/gems/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/usr/share/gems/gems/rack-1.6.4/lib/rack/nulllogger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env['rack.logger'] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/usr/share/gems/gems/rack-1.6.4/lib/rack/head.rb
in
call
# Rack::Head returns an empty body for all HEAD requests. It leaves
# all other requests unchanged.
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/show_exceptions.rb
in
call
def initialize(app)
@app = app
@template = ERB.new(TEMPLATE)
end
def call(env)
@app.call(env)
rescue Exception => e
errors, env["rack.errors"] = env["rack.errors"], @@eats_errors
if prefers_plain_text?(env)
content_type = "text/plain"
exception = dump_exception(e)
else
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
call
# Some Rack handlers (Thin, Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result, callback = app.call(env), env['async.callback']
return result unless callback and async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
private
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
block in call
setup_default_middleware builder
setup_middleware builder
builder.run app
builder
end
def call(env)
synchronize { prototype.call(env) }
end
# Like Kernel#caller but excluding certain magic entries and without
# line / method information; the resulting array contains filenames only.
def caller_files
cleaned_caller(1).flatten
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
synchronize
end
@@mutex = Mutex.new
def synchronize(&block)
if lock?
@@mutex.synchronize(&block)
else
yield
end
end
# used for deprecation warnings
def warn(message)
super message + "\n\tfrom #{cleaned_caller.first.join(':')}"
end
/usr/share/gems/gems/sinatra-1.4.7/lib/sinatra/base.rb
in
call
setup_default_middleware builder
setup_middleware builder
builder.run app
builder
end
def call(env)
synchronize { prototype.call(env) }
end
# Like Kernel#caller but excluding certain magic entries and without
# line / method information; the resulting array contains filenames only.
def caller_files
cleaned_caller(1).flatten
end
/usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb
in
block in call
rest = m[1]
next unless !rest || rest.empty? || rest[0] == ?/
env['SCRIPT_NAME'] = (script_name + location)
env['PATH_INFO'] = rest
return app.call(env)
end
[404, {CONTENT_TYPE => "text/plain", "X-Cascade" => "pass"}, ["Not Found: #{path}"]]
ensure
env['PATH_INFO'] = path
env['SCRIPT_NAME'] = script_name
/usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb
in
each
def call(env)
path = env[PATH_INFO]
script_name = env['SCRIPT_NAME']
hHost = env['HTTP_HOST']
sName = env['SERVER_NAME']
sPort = env['SERVER_PORT']
@mapping.each do |host, location, match, app|
unless casecmp?(hHost, host) \
|| casecmp?(sName, host) \
|| (!host && (casecmp?(hHost, sName) ||
casecmp?(hHost, sName+':'+sPort)))
next
end
/usr/share/gems/gems/rack-1.6.4/lib/rack/urlmap.rb
in
call
def call(env)
path = env[PATH_INFO]
script_name = env['SCRIPT_NAME']
hHost = env['HTTP_HOST']
sName = env['SERVER_NAME']
sPort = env['SERVER_PORT']
@mapping.each do |host, location, match, app|
unless casecmp?(hHost, host) \
|| casecmp?(sName, host) \
|| (!host && (casecmp?(hHost, sName) ||
casecmp?(hHost, sName+':'+sPort)))
next
end
/usr/share/gems/gems/rack-1.6.4/lib/rack/builder.rb
in
call
fail "missing run or map statement" unless app
app = @use.reverse.inject(app) { |a,e| e[a] }
@warmup.call(app) if @warmup
app
end
def call(env)
to_app.call(env)
end
private
def generate_map(default_app, mapping)
mapped = default_app ? {'/' => default_app} : {}
mapping.each { |r,b| mapped[r] = self.class.new(default_app, &b).to_app }
/usr/share/gems/gems/rack-1.6.4/lib/rack/handler/webrick.rb
in
service
env[QUERY_STRING] ||= ""
unless env[PATH_INFO] == ""
path, n = req.request_uri.path, env["SCRIPT_NAME"].length
env[PATH_INFO] = path[n, path.length-n]
end
env["REQUEST_PATH"] ||= [env["SCRIPT_NAME"], env[PATH_INFO]].join
status, headers, body = @app.call(env)
begin
res.status = status.to_i
headers.each { |k, vs|
next if k.downcase == "rack.hijack"
if k.downcase == "set-cookie"
res.cookies.concat vs.split("\n")
/usr/share/ruby/webrick/httpserver.rb
in
service
servlet, options, script_name, path_info = search_servlet(req.path)
raise HTTPStatus::NotFound, "`#{req.path}' not found." unless servlet
req.script_name = script_name
req.path_info = path_info
si = servlet.get_instance(self, *options)
@logger.debug(format("%s is invoked.", si.class.name))
si.service(req, res)
end
##
# The default OPTIONS request handler says GET, HEAD, POST and OPTIONS
# requests are allowed.
def do_OPTIONS(req, res)
/usr/share/ruby/webrick/httpserver.rb
in
run
if callback = server[:RequestCallback]
callback.call(req, res)
elsif callback = server[:RequestHandler]
msg = ":RequestHandler is deprecated, please use :RequestCallback"
@logger.warn(msg)
callback.call(req, res)
end
server.service(req, res)
rescue HTTPStatus::EOFError, HTTPStatus::RequestTimeout => ex
res.set_error(ex)
rescue HTTPStatus::Error => ex
@logger.error(ex.message)
res.set_error(ex)
rescue HTTPStatus::Status => ex
res.status = ex.code
/usr/share/ruby/webrick/server.rb
in
block in start_thread
addr = sock.peeraddr
@logger.debug "accept: #{addr[3]}:#{addr[1]}"
rescue SocketError
@logger.debug "accept: <address unknown>"
raise
end
call_callback(:AcceptCallback, sock)
block ? block.call(sock) : run(sock)
rescue Errno::ENOTCONN
@logger.debug "Errno::ENOTCONN raised"
rescue ServerError => ex
msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}"
@logger.error msg
rescue Exception => ex
@logger.error ex
No GET data.
No POST data.
Variable | Value |
---|---|
CONTENT_LENGTH | 34604 |
CONTENT_TYPE | text/xml |
GATEWAY_INTERFACE | CGI/1.1 |
HTTPS | on |
HTTP_ACCEPT | */* |
HTTP_ACCEPT_ENCODING | gzip;q=1.0,deflate;q=0.6,identity;q=0.3 |
HTTP_CONNECTION | close |
HTTP_CONTENT_ENCODING | x-bzip2 |
HTTP_HOST | dell-per415-04.dsal.lab.eng.bos.redhat.com:9090 |
HTTP_USER_AGENT | Ruby |
HTTP_VERSION | HTTP/1.1 |
PATH_INFO | /arf/1 |
QUERY_STRING | |
REMOTE_ADDR | 192.168.73.17 |
REMOTE_HOST | 192.168.73.17 |
REQUEST_METHOD | POST |
REQUEST_PATH | /compliance/arf/1 |
REQUEST_URI | https://dell-per415-04.dsal.lab.eng.bos.redhat.com:9090/compliance/arf/1 |
SCRIPT_NAME | /compliance |
SERVER_NAME | dell-per415-04.dsal.lab.eng.bos.redhat.com |
SERVER_PORT | 9090 |
SERVER_PROTOCOL | HTTP/1.1 |
SERVER_SOFTWARE | |
SSL_CIPHER | AES128-GCM-SHA256 |
SSL_CIPHER_ALGKEYSIZE | 128 |
SSL_CIPHER_USEKEYSIZE | 128 |
SSL_CLIENT_CERT | -----BEGIN CERTIFICATE-----
MIIE1DCCA7ygAwIBAgIId06Vg8D8bUcwDQYJKoZIhvcNAQEFBQAwgZUxCzAJBgNV
BAYTAlVTMRcwFQYDVQQIDA5Ob3J0aCBDYXJvbGluYTEQMA4GA1UEBwwHUmFsZWln
aDEQMA4GA1UECgwHS2F0ZWxsbzEUMBIGA1UECwwLU29tZU9yZ1VuaXQxMzAxBgNV
BAMMKmRlbGwtcGVyNDE1LTA0LmRzYWwubGFiLmVuZy5ib3MucmVkaGF0LmNvbTAe
Fw0xODAxMDkxMTQwMDhaFw0zNDAxMDkxMjQwMDhaMC8xLTArBgNVBAMTJGIwZmQ0
MjUwLWJkMjYtNGEyYi1hYTc2LWIxNjA0NjY3Y2U1NTCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAJld/Ruyxa2wb7N+z5ipvK4EPdCyPvDezLMeJf+N1rfr
+/q6Z1hcZmZmhjyLf6U6TVNCxk/kkTYY7xYD95exWrex9mVK7mDZV9RBqtp7+Qsb
+RQyArdVjLVu6yDtcmNORKdj1YsNqx1chvXuemEqUN308WE90aPj1bK1n+Fba1aU
h+ZTjEhEmYl6GYgiEzQ1ztnqzCE1gQb/n0VLaUMr0YdIZeXJ8LFWDrqooUdNFV7R
qA2Pz5PUoPtFJjCUT9KjQz5sUoyXLsr8tGuG2p1bsUi4et/7iP6CfFHGsC2y5FtH
UAOUfL6yr1vfYEMZuw/vojR1LfZ5IkTxytNtSDAp/cUCAwEAAaOCAYswggGHMBEG
CWCGSAGG+EIBAQQEAwIFoDALBgNVHQ8EBAMCBLAwgcoGA1UdIwSBwjCBv4AUPJat
W/9ODC+f7Xz7dC35wW6IMCahgZukgZgwgZUxCzAJBgNVBAYTAlVTMRcwFQYDVQQI
DA5Ob3J0aCBDYXJvbGluYTEQMA4GA1UEBwwHUmFsZWlnaDEQMA4GA1UECgwHS2F0
ZWxsbzEUMBIGA1UECwwLU29tZU9yZ1VuaXQxMzAxBgNVBAMMKmRlbGwtcGVyNDE1
LTA0LmRzYWwubGFiLmVuZy5ib3MucmVkaGF0LmNvbYIJAPZP5v1jBp3MMB0GA1Ud
DgQWBBQyf+IrKlhfngbnCkAkRgID0gpjrDATBgNVHSUEDDAKBggrBgEFBQcDAjBk
BgNVHREEXTBbpDEwLzEtMCsGA1UEAwwkYjBmZDQyNTAtYmQyNi00YTJiLWFhNzYt
YjE2MDQ2NjdjZTU1pCYwJDEiMCAGA1UEAwwZYm9iYnktbmFobWlhcy5leGFtcGxl
LmNvbTANBgkqhkiG9w0BAQUFAAOCAQEA1NQvk5LIaNwo2V0D6p0SQQgApBxhjPdi
YBmKYXCtmgadCWa47e5O8cgnalIQ8Wbv/2EUiOiuDOi7MzeWFJRaggagqkC5U5oE
zTfTdBj7jGypaCx18+DNtkbe0DiziM/rONNOpeOy9bBtfzJnZpbv0ULTK70cKdCR
aUBn/kSmltZp97jvAQa4zG0KwPlHXDUHc36EI/dTh8Tb5HHJoTWXWch4dxn3HX7N
9xjHE7AHvmpfmFwlh7jreUQYZjo+YU85TQb6UXs2RtZaGIdHT3vzTPg1c6moUTNw
5bV8aIFHewsmnK5uxNgKaqfF2Y7NI9do1k/lDPf3Mo4l8h8SRw8t6g==
-----END CERTIFICATE-----
|
SSL_CLIENT_CERT_CHAIN_0 | -----BEGIN CERTIFICATE-----
MIIFJTCCBA2gAwIBAgIJAPZP5v1jBp3MMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD
VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcMB1JhbGVp
Z2gxEDAOBgNVBAoMB0thdGVsbG8xFDASBgNVBAsMC1NvbWVPcmdVbml0MTMwMQYD
VQQDDCpkZWxsLXBlcjQxNS0wNC5kc2FsLmxhYi5lbmcuYm9zLnJlZGhhdC5jb20w
HhcNMTgwMTA4MTA0NTEyWhcNMzgwMTE4MTA0NTEyWjCBlTELMAkGA1UEBhMCVVMx
FzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYDVQQHDAdSYWxlaWdoMRAwDgYD
VQQKDAdLYXRlbGxvMRQwEgYDVQQLDAtTb21lT3JnVW5pdDEzMDEGA1UEAwwqZGVs
bC1wZXI0MTUtMDQuZHNhbC5sYWIuZW5nLmJvcy5yZWRoYXQuY29tMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA78gt64S5+61glzW831ax1OR2xitMOKRa
+33AHzCeskD6HgTFJX3vaIllYS51Iwvclp+1klrKf9bGjpF/myhqczyTGac32U0W
imJ94qTXec7Ek6bazsJ790LUyHtlbI5xzGcfA++zXiV4EaO4sks/l2psHqqfkk73
vimLZldz+zoVZxUfJD6ZD6CDb5DdjfB+yh6+MmbVUSBtTogaIMCNu8spsW1N2o/j
jfcZw3lohbqmWY0L8RG+o42PaXTdFE66apNMSGm67U2MKxHtLZVP/tkamZv5007R
8luOzhrtTt3bXPXFiiyERF+ndPlZ0Prdf2tqDeHtr1tfIOFg8JjALQIDAQABo4IB
dDCCAXAwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAaYwHQYDVR0lBBYwFAYIKwYB
BQUHAwEGCCsGAQUFBwMCMBEGCWCGSAGG+EIBAQQEAwICRDA1BglghkgBhvhCAQ0E
KBYmS2F0ZWxsbyBTU0wgVG9vbCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0O
BBYEFDyWrVv/Tgwvn+18+3Qt+cFuiDAmMIHKBgNVHSMEgcIwgb+AFDyWrVv/Tgwv
n+18+3Qt+cFuiDAmoYGbpIGYMIGVMQswCQYDVQQGEwJVUzEXMBUGA1UECAwOTm9y
dGggQ2Fyb2xpbmExEDAOBgNVBAcMB1JhbGVpZ2gxEDAOBgNVBAoMB0thdGVsbG8x
FDASBgNVBAsMC1NvbWVPcmdVbml0MTMwMQYDVQQDDCpkZWxsLXBlcjQxNS0wNC5k
c2FsLmxhYi5lbmcuYm9zLnJlZGhhdC5jb22CCQD2T+b9YwadzDANBgkqhkiG9w0B
AQsFAAOCAQEAXuYtCc78IJBsknzQq5PzO/OLhEJBDikrIi8KybIGm7kp8vFq7naw
H1wnjLn+FmYLrZ0U4H6YM8706gsiIe1wxR6a2fJIqNfE/eUTH/M786oB7jsYwMPY
2x75zCy0uDObk6beiDZLZJ5rHcwXbZD4WsBBEoRFTneokpGzNN0bfAMpzsUnyOdF
PMsJ5O0/CPKr7+zzG8o7wruoPlH4WU81YAiQp7Zo+W8a8dUBrTyrxo3bHtXJ2MZJ
InMB73C1jy+ghzYemtR6aO93QOY7k3KE08SYsj5v+cmzGRjGvAvttTYIQ55+3M/3
JTq7ESqHudpXi5oHmIQtd1Sr3pXjJ25ynQ==
-----END CERTIFICATE-----
|
SSL_PROTOCOL | TLSv1/SSLv3 |
SSL_SERVER_CERT | -----BEGIN CERTIFICATE-----
MIIFRzCCBC+gAwIBAgIJAPZP5v1jBp3UMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD
VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcMB1JhbGVp
Z2gxEDAOBgNVBAoMB0thdGVsbG8xFDASBgNVBAsMC1NvbWVPcmdVbml0MTMwMQYD
VQQDDCpkZWxsLXBlcjQxNS0wNC5kc2FsLmxhYi5lbmcuYm9zLnJlZGhhdC5jb20w
HhcNMTgwMTAxMTA0ODU0WhcNMzgwMTAzMTA0ODU0WjCBgzELMAkGA1UEBhMCVVMx
FzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYDVQQKDAdGT1JFTUFOMRQwEgYD
VQQLDAtTTUFSVF9QUk9YWTEzMDEGA1UEAwwqZGVsbC1wZXI0MTUtMDQuZHNhbC5s
YWIuZW5nLmJvcy5yZWRoYXQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAudP+7msb1lpZlh7nONZ+4xDOB42lOzTpdFyf46GpUlulNInN1q0ws5ws
7ydmaJdEOpdZPhv3rK2xb2on8sAwdUlk+hthDUWhBZPjmWxnYb0Ofvv26Q7u8jdr
XySvPseWlNelYTrhbqN3y6mNaGzccCG/kbiURtSg6iltlsef54ORaHHsO1vFWViC
bSw81j5hpXApPuCgnh7r/gqrDV1IFIQsUMCuGci18/2mQW3l2BAaDZol7PYnReaH
RTtRxFq6r95+VuavQCoCqhrUor2TsXlEtz4lsRqqzZHmocwnbdOb9PATtDqJpVmC
5crakzof76N6rI/+JulSTSs41hBe5wIDAQABo4IBqDCCAaQwCQYDVR0TBAIwADAL
BgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBEGCWCG
SAGG+EIBAQQEAwIGQDA1BglghkgBhvhCAQ0EKBYmS2F0ZWxsbyBTU0wgVG9vbCBH
ZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFBcyxI8pelbYUjdza8BnrHhv
hFUjMIHKBgNVHSMEgcIwgb+AFDyWrVv/Tgwvn+18+3Qt+cFuiDAmoYGbpIGYMIGV
MQswCQYDVQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcM
B1JhbGVpZ2gxEDAOBgNVBAoMB0thdGVsbG8xFDASBgNVBAsMC1NvbWVPcmdVbml0
MTMwMQYDVQQDDCpkZWxsLXBlcjQxNS0wNC5kc2FsLmxhYi5lbmcuYm9zLnJlZGhh
dC5jb22CCQD2T+b9YwadzDA1BgNVHREELjAsgipkZWxsLXBlcjQxNS0wNC5kc2Fs
LmxhYi5lbmcuYm9zLnJlZGhhdC5jb20wDQYJKoZIhvcNAQELBQADggEBAGi89eXE
vDgsNluzTD+v11LelsFvAehC2dJqQW1ork7STC4kztxpWJjKKOLhQgenD7mD+uHB
hmMruhj484CPyC4pPfLukjh+kUBKRwS/aQhcjcynBdlo3ay9s/2k8DArVeL1AaJw
cmr4XH1bU3hkKJn0I2qthDP39ERACEro62DZKR4AA7zL2Oy89Lttqrut+zq0uwsG
5rGbeDmHFDVpMaRGf9/VPOA1wdzs4DkfltFe+IK+ru1laXwvSWRiKhSiCqHPFjYI
Tmg+k+twe9WmuYUzgwgHG1WqfGr6+1kzSV1qOiF9U319C38FW+b7MqJeCFdDhCJc
KrA6yRM5kxpU0sQ=
-----END CERTIFICATE-----
|
rack.errors | #<Object:0x0000000271acf8> |
rack.hijack | #<Proc:0x00000003553a90@/usr/share/gems/gems/rack-1.6.4/lib/rack/handler/webrick.rb:76 (lambda)> |
rack.hijack? | true |
rack.hijack_io | nil |
rack.input | #<StringIO:0x00000003552be0> |
rack.logger | #<Proxy::LogBuffer::Decorator:0x000000025dece0 @logger=#<Logger:0x007f3d28452060 @progname=nil, @level=1, @default_formatter=#<Logger::Formatter:0x007f3d284520b0 @datetime_format=nil>, @formatter=#<Proxy::LoggerFactory::LogFormatter:0x007f3d28452330 @datetime_format=nil>, @logdev=#<Logger::LogDevice:0x007f3d28452178 @shift_size=10485760, @shift_age=6, @filename="/var/log/foreman-proxy/proxy.log", @dev=#<File:/var/log/foreman-proxy/proxy.log>, @mutex=#<Logger::LogDevice::LogDeviceMutex:0x007f3d284521a0 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Mutex:0x007f3d28452268>>>>, @buffer=#<Proxy::LogBuffer::Buffer:0x000000025decb8 @mutex=#<Mutex:0x000000025dec90>, @failed_modules={}, @main_buffer=#<Proxy::LogBuffer::RingBuffer:0x000000025dec40 @size=2000, @start=0, @count=133, @buffer=[#<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3509824, level=1, message="Successfully initialized 'openscap'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3510735, level=1, message="Successfully initialized 'discovery'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3511267, level=1, message="Successfully initialized 'pulp'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3866174, level=1, message="Successfully initialized 'dynflow'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3919437, level=1, message="Successfully initialized 'ssh'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3920426, level=1, message="Successfully initialized 'foreman_proxy'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3921244, level=1, message="Successfully initialized 'dns_libvirt'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.392176, level=1, message="Successfully initialized 'dns'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3922296, level=1, message="Successfully initialized 'tftp'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3923473, level=1, message="Starting allocated ip address maintenance (used by unused_ip call).", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3941755, level=1, message="Successfully initialized 'dhcp_libvirt'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3942623, level=1, message="Successfully initialized 'dhcp'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3943183, level=1, message="Successfully initialized 'puppetca'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3963015, level=1, message="Successfully initialized 'puppet_proxy_legacy'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.3963711, level=1, message="Successfully initialized 'puppet'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.396453, level=1, message="Successfully initialized 'logs'", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.5788915, level=1, message="WEBrick 1.3.1", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.578956, level=1, message="ruby 2.0.0 (2015-12-16) [x86_64-linux]", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.5802453, level=2, message="TCPServer Error: Address already in use - bind(2)", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.5814428, level=1, message="\nCertificate:\n Data:\n Version: 3 (0x2)\n Serial Number:\n f6:4f:e6:fd:63:06:9d:d4\n Signature Algorithm: sha256WithRSAEncryption\n Issuer: C=US, ST=North Carolina, L=Raleigh, O=Katello, OU=SomeOrgUnit, CN=dell-per415-04.dsal.lab.eng.bos.redhat.com\n Validity\n Not Before: Jan 1 10:48:54 2018 GMT\n Not After : Jan 3 10:48:54 2038 GMT\n Subject: C=US, ST=North Carolina, O=FOREMAN, OU=SMART_PROXY, CN=dell-per415-04.dsal.lab.eng.bos.redhat.com\n Subject Public Key Info:\n Public Key Algorithm: rsaEncryption\n Public-Key: (2048 bit)\n Modulus:\n 00:b9:d3:fe:ee:6b:1b:d6:5a:59:96:1e:e7:38:d6:\n 7e:e3:10:ce:07:8d:a5:3b:34:e9:74:5c:9f:e3:a1:\n a9:52:5b:a5:34:89:cd:d6:ad:30:b3:9c:2c:ef:27:\n 66:68:97:44:3a:97:59:3e:1b:f7:ac:ad:b1:6f:6a:\n 27:f2:c0:30:75:49:64:fa:1b:61:0d:45:a1:05:93:\n e3:99:6c:67:61:bd:0e:7e:fb:f6:e9:0e:ee:f2:37:\n 6b:5f:24:af:3e:c7:96:94:d7:a5:61:3a:e1:6e:a3:\n 77:cb:a9:8d:68:6c:dc:70:21:bf:91:b8:94:46:d4:\n a0:ea:29:6d:96:c7:9f:e7:83:91:68:71:ec:3b:5b:\n c5:59:58:82:6d:2c:3c:d6:3e:61:a5:70:29:3e:e0:\n a0:9e:1e:eb:fe:0a:ab:0d:5d:48:14:84:2c:50:c0:\n ae:19:c8:b5:f3:fd:a6:41:6d:e5:d8:10:1a:0d:9a:\n 25:ec:f6:27:45:e6:87:45:3b:51:c4:5a:ba:af:de:\n 7e:56:e6:af:40:2a:02:aa:1a:d4:a2:bd:93:b1:79:\n 44:b7:3e:25:b1:1a:aa:cd:91:e6:a1:cc:27:6d:d3:\n 9b:f4:f0:13:b4:3a:89:a5:59:82:e5:ca:da:93:3a:\n 1f:ef:a3:7a:ac:8f:fe:26:e9:52:4d:2b:38:d6:10:\n 5e:e7\n Exponent: 65537 (0x10001)\n X509v3 extensions:\n X509v3 Basic Constraints: \n CA:FALSE\n X509v3 Key Usage: \n Digital Signature, Key Encipherment\n X509v3 Extended Key Usage: \n TLS Web Server Authentication, TLS Web Client Authentication\n Netscape Cert Type: \n SSL Server\n Netscape Comment: \n Katello SSL Tool Generated Certificate\n X509v3 Subject Key Identifier: \n 17:32:C4:8F:29:7A:56:D8:52:37:73:6B:C0:67:AC:78:6F:84:55:23\n X509v3 Authority Key Identifier: \n keyid:3C:96:AD:5B:FF:4E:0C:2F:9F:ED:7C:FB:74:2D:F9:C1:6E:88:30:26\n DirName:/C=US/ST=North Carolina/L=Raleigh/O=Katello/OU=SomeOrgUnit/CN=dell-per415-04.dsal.lab.eng.bos.redhat.com\n serial:F6:4F:E6:FD:63:06:9D:CC\n\n X509v3 Subject Alternative Name: \n DNS:dell-per415-04.dsal.lab.eng.bos.redhat.com\n Signature Algorithm: sha256WithRSAEncryption\n 68:bc:f5:e5:c4:bc:38:2c:36:5b:b3:4c:3f:af:d7:52:de:96:\n c1:6f:01:e8:42:d9:d2:6a:41:6d:68:ae:4e:d2:4c:2e:24:ce:\n dc:69:58:98:ca:28:e2:e1:42:07:a7:0f:b9:83:fa:e1:c1:86:\n 63:2b:ba:18:f8:f3:80:8f:c8:2e:29:3d:f2:ee:92:38:7e:91:\n 40:4a:47:04:bf:69:08:5c:8d:cc:a7:05:d9:68:dd:ac:bd:b3:\n fd:a4:f0:30:2b:55:e2:f5:01:a2:70:72:6a:f8:5c:7d:5b:53:\n 78:64:28:99:f4:23:6a:ad:84:33:f7:f4:44:40:08:4a:e8:eb:\n 60:d9:29:1e:00:03:bc:cb:d8:ec:bc:f4:bb:6d:aa:bb:ad:fb:\n 3a:b4:bb:0b:06:e6:b1:9b:78:39:87:14:35:69:31:a4:46:7f:\n df:d5:3c:e0:35:c1:dc:ec:e0:39:1f:96:d1:5e:f8:82:be:ae:\n ed:65:69:7c:2f:49:64:62:2a:14:a2:0a:a1:cf:16:36:08:4e:\n 68:3e:93:eb:70:7b:d5:a6:b9:85:33:83:08:07:1b:55:aa:7c:\n 6a:fa:fb:59:33:49:5d:6a:3a:21:7d:53:7d:7d:0b:7f:05:5b:\n e6:fb:32:a2:5e:08:57:43:84:22:5c:2a:b0:3a:c9:13:39:93:\n 1a:54:d2:c4\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515415201.5842106, level=1, message="WEBrick::HTTPServer#start: pid=40651 port=9090", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419694.490035, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:54 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.3789\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419694.793251, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:54 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.2383\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419695.1241426, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:55 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.2787\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419695.5641766, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:55 -0500] \"GET /puppet/environments/example_env/classes HTTP/1.1\" 200 993 0.3840\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419695.8612669, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:55 -0500] \"GET /puppet/environments/production/classes HTTP/1.1\" 200 993 0.2386\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419696.148786, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:56 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.2354\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419696.4412777, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:56 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.2352\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419696.729602, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:56 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.2365\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419697.0190306, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:57 -0500] \"GET /puppet/environments/development/classes HTTP/1.1\" 200 993 0.2355\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419697.3117664, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:57 -0500] \"GET /puppet/environments/common/classes HTTP/1.1\" 200 993 0.2383\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419697.6012626, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:57 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.2358\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419697.8942766, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:57 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.2360\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419698.1825504, level=1, message="10.19.41.24 - - [08/Jan/2018:08:54:58 -0500] \"GET /puppet/environments HTTP/1.1\" 200 51 0.2359\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419783.6954005, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:23 -0500] \"GET /dhcp/192.168.73.0/unused_ip?from=192.168.73.2&to=192.168.73.254 HTTP/1.1\" 200 23 2.0619\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419786.3116076, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:26 -0500] \"GET /dhcp/192.168.73.0/unused_ip?from=192.168.73.2&to=192.168.73.254 HTTP/1.1\" 200 23 2.0243\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419797.4768977, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:37 -0500] \"GET /tftp/serverName HTTP/1.1\" 200 29 0.0010\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419797.7629197, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:37 -0500] \"POST /dhcp/192.168.73.0 HTTP/1.1\" 200 - 0.2306\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419797.8110728, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:37 -0500] \"POST /dns/ HTTP/1.1\" 200 - 0.0286\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419797.8277647, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:37 -0500] \"POST /dns/ HTTP/1.1\" 200 - 0.0010\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419798.047501, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:38 -0500] \"POST /tftp/PXELinux/52:54:00:35:c8:e8 HTTP/1.1\" 200 - 0.0021\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419798.139579, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:38 -0500] \"POST /tftp/fetch_boot_file HTTP/1.1\" 200 - 0.0571\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419798.1615005, level=1, message="10.19.41.24 - - [08/Jan/2018:08:56:38 -0500] \"POST /tftp/fetch_boot_file HTTP/1.1\" 200 - 0.0019\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419801.4805336, level=3, message="[46967] 2018-01-08 08:56:41 URL:http://dell-per415-04.dsal.lab.eng.bos.redhat.com/streamer/var/lib/pulp/content/units/distribution/aa/4b7bb710c013ceff55b18ce462440565223629dc482235816bd22f9b658cd9/images/pxeboot/vmlinuz?policy=eyJleHRlbnNpb25zIjogeyJyZW1vdGVfaXAiOiAiMTAuMTkuNDEuMjQifSwgInJlc291cmNlIjogIi9zdHJlYW1lci92YXIvbGliL3B1bHAvY29udGVudC91bml0cy9kaXN0cmlidXRpb24vYWEvNGI3YmI3MTBjMDEzY2VmZjU1YjE4Y2U0NjI0NDA1NjUyMjM2MjlkYzQ4MjIzNTgxNmJkMjJmOWI2NThjZDkvaW1hZ2VzL3B4ZWJvb3Qvdm1saW51eiIsICJleHBpcmF0aW9uIjogMTUxNTQxOTg4OH0%3D;signature=1EIe-oSSurJ-bHZY9UNGbQnkJ1Yf0YwHaX1X9kaxDCcH-RsWZLLKcGz_e6JvD8txrlCw3Xp8I7wd8owwpWGThHlGAiJXd-Unfi7JvdaTQEGFJMwP1FBeIopvXuLzwYPnhIPqWzTPHl7f9pKF3vqbBqnvKx3Y05H7RkkZPi8866edt6T6x7aCVEgOxzLKXf48DFjQXvPLzo7hrfDMF_7javbFTXOUXLlaIbCVIHDZdD_LQLiae2gVVoCUIeMey60a1xCRcRqCloeV4agI6z--ZnE27VReiAiHteW64_iG59fiIt9X-pie6AHloaLPOKcimPLbOSwg3FNzVuX4d09u9w%3D%3D [5875184/5875184] -> \"/var/lib/tftpboot/boot/RedHat-7.4-x86_64-vmlinuz\" [1]\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419823.2147667, level=3, message="[46978] 2018-01-08 08:57:03 URL:http://dell-per415-04.dsal.lab.eng.bos.redhat.com/streamer/var/lib/pulp/content/units/distribution/aa/4b7bb710c013ceff55b18ce462440565223629dc482235816bd22f9b658cd9/images/pxeboot/initrd.img?policy=eyJleHRlbnNpb25zIjogeyJyZW1vdGVfaXAiOiAiMTAuMTkuNDEuMjQifSwgInJlc291cmNlIjogIi9zdHJlYW1lci92YXIvbGliL3B1bHAvY29udGVudC91bml0cy9kaXN0cmlidXRpb24vYWEvNGI3YmI3MTBjMDEzY2VmZjU1YjE4Y2U0NjI0NDA1NjUyMjM2MjlkYzQ4MjIzNTgxNmJkMjJmOWI2NThjZDkvaW1hZ2VzL3B4ZWJvb3QvaW5pdHJkLmltZyIsICJleHBpcmF0aW9uIjogMTUxNTQxOTg4OH0%3D;signature=AZWSzgO-2HCXGYHrMni5-xnL2ylJtwSfme2r1bPdwuyqgRgrgkPcwFN02NU0Y0lGycgJsU1scYnbzvmio26a64yOpUJFz1N1IaUXoSM32cOJBbM9OG76WHtUwiV4JkZj3N9fJyDPdaRzZ0qqdKhNH2NKiUT06bvC1Rq-NehRLDYh8iXS_ZmPMO6WzMhu1KW8_v-b56WG7Sh_UbgKX8iBkiKzFHncki-ORhXT8LXJZUhRGb7NlVQgf7PGhRxy-AmlxwVo5EONtzqZZQX59TxVoDPMLlhng4NaUF5FNf3vNF4qF_FRttbLYumKV87Fwow-__MKft9SzN7Vd0XTRcNnpw%3D%3D [49763300/49763300] -> \"/var/lib/tftpboot/boot/RedHat-7.4-x86_64-initrd.img\" [1]\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419982.792498, level=3, message="Attempt to remove nonexistent client certificate for jon-brandley.example.com", backtrace="Attempt to remove nonexistent client certificate for jon-brandley.example.com", request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419982.7931406, level=1, message="10.19.41.24 - - [08/Jan/2018:08:59:42 -0500] \"DELETE /puppet/ca/jon-brandley.example.com HTTP/1.1\" 404 77 1.9706\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515419982.858476, level=1, message="10.19.41.24 - - [08/Jan/2018:08:59:42 -0500] \"POST /puppet/ca/autosign/jon-brandley.example.com HTTP/1.1\" 200 - 0.0009\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515421385.711948, level=1, message="10.19.41.24 - - [08/Jan/2018:09:23:05 -0500] \"GET /tftp/serverName HTTP/1.1\" 200 29 0.0009\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515421385.7804937, level=1, message="10.19.41.24 - - [08/Jan/2018:09:23:05 -0500] \"GET /dhcp/192.168.73.0/mac/52:54:00:35:c8:e8 HTTP/1.1\" 200 180 0.0146\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515421385.8424697, level=1, message="10.19.41.24 - - [08/Jan/2018:09:23:05 -0500] \"GET /dhcp/192.168.73.0/ip/192.168.73.212 HTTP/1.1\" 200 182 0.0098\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515421386.0502517, level=1, message="10.19.41.24 - - [08/Jan/2018:09:23:06 -0500] \"POST /tftp/PXEGrub2/52:54:00:35:c8:e8 HTTP/1.1\" 200 - 0.0020\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515421386.087969, level=1, message="10.19.41.24 - - [08/Jan/2018:09:23:06 -0500] \"POST /tftp/PXELinux/52:54:00:35:c8:e8 HTTP/1.1\" 200 - 0.0014\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515421386.1298125, level=1, message="10.19.41.24 - - [08/Jan/2018:09:23:06 -0500] \"POST /tftp/PXEGrub/52:54:00:35:c8:e8 HTTP/1.1\" 200 - 0.0017\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515421386.145637, level=1, message="10.19.41.24 - - [08/Jan/2018:09:23:06 -0500] \"DELETE /puppet/ca/autosign/jon-brandley.example.com HTTP/1.1\" 200 - 0.0011\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515500969.121336, level=1, message="10.19.41.24 - - [09/Jan/2018:07:29:29 -0500] \"GET /dhcp/192.168.73.0/unused_ip?from=192.168.73.2&to=192.168.73.254 HTTP/1.1\" 200 22 2.0313\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501010.5216646, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:10 -0500] \"GET /tftp/serverName HTTP/1.1\" 200 29 0.0008\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501010.8733287, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:10 -0500] \"POST /dhcp/192.168.73.0 HTTP/1.1\" 200 - 0.2539\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501010.9715583, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:10 -0500] \"POST /dns/ HTTP/1.1\" 200 - 0.0397\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501011.0308487, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:11 -0500] \"POST /dns/ HTTP/1.1\" 200 - 0.0008\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501011.3637798, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:11 -0500] \"POST /tftp/PXELinux/52:54:00:25:c0:4e HTTP/1.1\" 200 - 0.0016\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501011.4549196, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:11 -0500] \"POST /tftp/fetch_boot_file HTTP/1.1\" 200 - 0.0122\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501011.5230515, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:11 -0500] \"POST /tftp/fetch_boot_file HTTP/1.1\" 200 - 0.0015\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501042.048005, level=3, message="Attempt to remove nonexistent client certificate for bobby-nahmias.example.com", backtrace="Attempt to remove nonexistent client certificate for bobby-nahmias.example.com", request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501042.0486119, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:42 -0500] \"DELETE /puppet/ca/bobby-nahmias.example.com HTTP/1.1\" 404 78 2.0015\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515501042.1508806, level=1, message="10.19.41.24 - - [09/Jan/2018:07:30:42 -0500] \"POST /puppet/ca/autosign/bobby-nahmias.example.com HTTP/1.1\" 200 - 0.0009\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515502081.2275245, level=1, message="10.19.41.24 - - [09/Jan/2018:07:48:01 -0500] \"GET /tftp/serverName HTTP/1.1\" 200 29 0.0008\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515502081.3542953, level=1, message="10.19.41.24 - - [09/Jan/2018:07:48:01 -0500] \"GET /dhcp/192.168.73.0/mac/52:54:00:25:c0:4e HTTP/1.1\" 200 181 0.0732\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515502081.4176757, level=1, message="10.19.41.24 - - [09/Jan/2018:07:48:01 -0500] \"GET /dhcp/192.168.73.0/ip/192.168.73.17 HTTP/1.1\" 200 183 0.0108\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515502081.674001, level=1, message="10.19.41.24 - - [09/Jan/2018:07:48:01 -0500] \"POST /tftp/PXEGrub2/52:54:00:25:c0:4e HTTP/1.1\" 200 - 0.0020\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515502081.7099905, level=1, message="10.19.41.24 - - [09/Jan/2018:07:48:01 -0500] \"POST /tftp/PXELinux/52:54:00:25:c0:4e HTTP/1.1\" 200 - 0.0014\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515502081.7494917, level=1, message="10.19.41.24 - - [09/Jan/2018:07:48:01 -0500] \"POST /tftp/PXEGrub/52:54:00:25:c0:4e HTTP/1.1\" 200 - 0.0017\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515502081.7646835, level=1, message="10.19.41.24 - - [09/Jan/2018:07:48:01 -0500] \"DELETE /puppet/ca/autosign/bobby-nahmias.example.com HTTP/1.1\" 200 - 0.0011\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515507882.3790145, level=1, message="10.19.41.24 - - [09/Jan/2018:09:24:42 -0500] \"GET /puppet/environments/KT_i_began_to_warm_and_chill_to_objects_and_their_fields_Library_those_sinister_dinner_deals_meal_trollyes_wicked_wheels_4/classes HTTP/1.1\" 200 10571 0.2745\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515507882.6707838, level=1, message="10.19.41.24 - - [09/Jan/2018:09:24:42 -0500] \"GET /puppet/environments HTTP/1.1\" 200 176 0.2361\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515507882.9679618, level=1, message="10.19.41.24 - - [09/Jan/2018:09:24:42 -0500] \"GET /puppet/environments HTTP/1.1\" 200 176 0.2364\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515507884.0207424, level=1, message="10.19.41.24 - - [09/Jan/2018:09:24:44 -0500] \"GET /puppet/environments HTTP/1.1\" 200 176 0.2361\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515507916.7697504, level=1, message="10.19.41.24 - - [09/Jan/2018:09:25:16 -0500] \"GET /puppet/environments/KT_i_began_to_warm_and_chill_to_objects_and_their_fields_a_ragged_cup_a_twisted_mop_a_face_of_jesus_in_my_soup_those_sinister_dinner_deals_meal_trollyes_wicked_wheels_4/classes HTTP/1.1\" 200 10571 0.3262\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515507917.0620635, level=1, message="10.19.41.24 - - [09/Jan/2018:09:25:17 -0500] \"GET /puppet/environments HTTP/1.1\" 200 347 0.2366\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515507917.3577447, level=1, message="10.19.41.24 - - [09/Jan/2018:09:25:17 -0500] \"GET /puppet/environments HTTP/1.1\" 200 347 0.2365\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515507918.393779, level=1, message="10.19.41.24 - - [09/Jan/2018:09:25:18 -0500] \"GET /puppet/environments HTTP/1.1\" 200 347 0.2361\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508643.3502634, level=1, message="10.19.41.24 - - [09/Jan/2018:09:37:23 -0500] \"GET /puppet/environments/KT_2dd138f8_9102_4cf6_bd99_369e3d4e81b5_Library_long_name_cv_7/classes HTTP/1.1\" 200 10571 0.2732\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508643.6422222, level=1, message="10.19.41.24 - - [09/Jan/2018:09:37:23 -0500] \"GET /puppet/environments HTTP/1.1\" 200 412 0.2379\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508643.9387374, level=1, message="10.19.41.24 - - [09/Jan/2018:09:37:23 -0500] \"GET /puppet/environments HTTP/1.1\" 200 412 0.2366\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508645.0327923, level=1, message="10.19.41.24 - - [09/Jan/2018:09:37:25 -0500] \"GET /puppet/environments HTTP/1.1\" 200 412 0.2366\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508731.3670726, level=1, message="10.19.41.24 - - [09/Jan/2018:09:38:51 -0500] \"GET /puppet/environments/KT_2dd138f8_9102_4cf6_bd99_369e3d4e81b5_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_long_name_cv_7/classes HTTP/1.1\" 200 10571 0.2722\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508731.6590202, level=1, message="10.19.41.24 - - [09/Jan/2018:09:38:51 -0500] \"GET /puppet/environments HTTP/1.1\" 200 594 0.2374\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508731.9551384, level=1, message="10.19.41.24 - - [09/Jan/2018:09:38:51 -0500] \"GET /puppet/environments HTTP/1.1\" 200 594 0.2371\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508733.121842, level=1, message="10.19.41.24 - - [09/Jan/2018:09:38:53 -0500] \"GET /puppet/environments HTTP/1.1\" 200 594 0.2874\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508823.543606, level=1, message="10.19.41.24 - - [09/Jan/2018:09:40:23 -0500] \"GET /puppet/environments/KT_2dd138f8_9102_4cf6_bd99_369e3d4e81b5_Library_cv_again_6/classes HTTP/1.1\" 200 10571 0.3085\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508823.836522, level=1, message="10.19.41.24 - - [09/Jan/2018:09:40:23 -0500] \"GET /puppet/environments HTTP/1.1\" 200 655 0.2375\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508825.1194048, level=1, message="10.19.41.24 - - [09/Jan/2018:09:40:25 -0500] \"GET /puppet/environments HTTP/1.1\" 200 655 0.2378\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508825.4086728, level=1, message="10.19.41.24 - - [09/Jan/2018:09:40:25 -0500] \"GET /puppet/environments HTTP/1.1\" 200 655 0.2377\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508842.136849, level=1, message="10.19.41.24 - - [09/Jan/2018:09:40:42 -0500] \"GET /puppet/environments/KT_2dd138f8_9102_4cf6_bd99_369e3d4e81b5_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_cv_again_6/classes HTTP/1.1\" 200 10571 0.2722\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508843.1262867, level=1, message="10.19.41.24 - - [09/Jan/2018:09:40:43 -0500] \"GET /puppet/environments HTTP/1.1\" 200 833 0.2376\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508843.4225252, level=1, message="10.19.41.24 - - [09/Jan/2018:09:40:43 -0500] \"GET /puppet/environments HTTP/1.1\" 200 833 0.2373\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515508843.7101033, level=1, message="10.19.41.24 - - [09/Jan/2018:09:40:43 -0500] \"GET /puppet/environments HTTP/1.1\" 200 833 0.2366\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591905.2611372, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:05 -0500] \"GET /features HTTP/1.1\" 200 94 0.0007\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591905.3158193, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:05 -0500] \"GET /version HTTP/1.1\" 200 233 0.0005\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591905.7263877, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:05 -0500] \"POST /compliance/scap_file/validator/scap_content HTTP/1.1\" 200 13 0.2969\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591905.9437141, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:05 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 86 0.1234\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591906.303544, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:06 -0500] \"POST /compliance/scap_file/validator/scap_content HTTP/1.1\" 200 13 0.2903\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591906.4856014, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:06 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 86 0.1224\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591906.7850347, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:06 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 86 0.1211\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591906.8854022, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:06 -0500] \"GET /features HTTP/1.1\" 200 94 0.0007\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591906.9392917, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:06 -0500] \"GET /version HTTP/1.1\" 200 233 0.0006\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591907.2756484, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:07 -0500] \"POST /compliance/scap_file/validator/scap_content HTTP/1.1\" 200 13 0.2801\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591907.4495816, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:07 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 97 0.1147\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591907.7978714, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:07 -0500] \"POST /compliance/scap_file/validator/scap_content HTTP/1.1\" 200 13 0.2814\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591907.9709578, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:07 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 97 0.1153\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591908.1840224, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:08 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 97 0.1141\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591908.386156, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:08 -0500] \"GET /features HTTP/1.1\" 200 94 0.0006\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591908.484473, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:08 -0500] \"GET /version HTTP/1.1\" 200 233 0.0009\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591910.6195385, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:10 -0500] \"POST /compliance/scap_file/validator/scap_content HTTP/1.1\" 200 13 1.7098\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591911.487321, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:11 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 1582 0.5880\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591913.488281, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:13 -0500] \"POST /compliance/scap_file/validator/scap_content HTTP/1.1\" 200 13 1.7159\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591914.3835762, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:14 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 1582 0.5912\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591915.5892377, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:15 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 1582 0.5889\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591915.7310052, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:15 -0500] \"GET /features HTTP/1.1\" 200 94 0.0006\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591915.784734, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:15 -0500] \"GET /version HTTP/1.1\" 200 233 0.0005\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591919.9308004, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:19 -0500] \"POST /compliance/scap_file/validator/scap_content HTTP/1.1\" 200 13 3.4752\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591921.5397534, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:21 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 1164 0.9304\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591925.5006588, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:25 -0500] \"POST /compliance/scap_file/validator/scap_content HTTP/1.1\" 200 13 3.5833\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591926.8233259, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:26 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 1164 0.9294\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515591928.645726, level=1, message="10.19.41.24 - - [10/Jan/2018:08:45:28 -0500] \"POST /compliance/scap_content/policies HTTP/1.1\" 200 1164 0.9348\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515592007.8910325, level=1, message="10.19.41.24 - - [10/Jan/2018:08:46:47 -0500] \"GET /version HTTP/1.1\" 200 233 0.0007\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515592838.1924257, level=1, message="Creating directory to store SCAP file: /var/lib/foreman-proxy/openscap/content/1", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515592838.6407757, level=1, message="192.168.73.17 - - [10/Jan/2018:09:00:38 -0500] \"GET /compliance/policies/1/content/654f841b9386f771d3999f855f28bfed01e2be4036774103e822950c1e4230aa HTTP/1.1\" 200 234469 0.4491\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515592840.3633268, level=1, message="192.168.73.17 - - [10/Jan/2018:09:00:40 -0500] \"POST /compliance/arf/1 HTTP/1.1\" 200 - 1.3137\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515593693.5948505, level=1, message="10.19.41.24 - - [10/Jan/2018:09:14:53 -0500] \"GET /version HTTP/1.1\" 200 233 0.0008\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515662786.6333244, level=1, message="10.19.41.24 - - [11/Jan/2018:04:26:26 -0500] \"GET /version HTTP/1.1\" 200 233 0.0007\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515663172.456806, level=1, message="192.168.73.17 - - [11/Jan/2018:04:32:52 -0500] \"POST /compliance/arf/1 HTTP/1.1\" 200 - 1.0635\n", backtrace=nil, request_id=nil>, #<struct Proxy::LogBuffer::LogRecord timestamp=1515663274.3215032, level=1, message="192.168.73.17 - - [11/Jan/2018:04:34:34 -0500] \"POST /compliance/arf/1 HTTP/1.1\" 200 - 0.7903\n", backtrace=nil, request_id=nil>, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]>, @tail_buffer=#<Proxy::LogBuffer::RingBuffer:0x000000025deba0 @size=1000, @start=0, @count=0, @buffer=[nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]>, @level_tail=3>, @log_file="/var/log/foreman-proxy/proxy.log", @mutex=#<Mutex:0x000000025deb50>, @roll_log=false> |
rack.multiprocess | false |
rack.multithread | true |
rack.request.cookie_hash | {} |
rack.request.query_hash | {} |
rack.request.query_string | |
rack.run_once | false |
rack.url_scheme | https |
rack.version | [1, 3] |
sinatra.accept | [#<Sinatra::Request::AcceptEntry:0x00000002ede318 @entry="*/*", @type="*/*", @params={}, @q=1.0>] |
sinatra.commonlogger | true |
sinatra.error | #<Errno::ECONNREFUSED: Connection refused - connect(2)> |
sinatra.route | POST /arf/:policy |
You're seeing this error because you have
enabled the show_exceptions
setting.