X7ROOT File Manager
Current Path:
/opt/alt/ruby33/share/gems/gems/rack-3.0.8/lib/rack
opt
/
alt
/
ruby33
/
share
/
gems
/
gems
/
rack-3.0.8
/
lib
/
rack
/
??
..
??
auth
??
body_proxy.rb
(1.3 KB)
??
builder.rb
(8.56 KB)
??
cascade.rb
(2.25 KB)
??
chunked.rb
(3.3 KB)
??
common_logger.rb
(3.12 KB)
??
conditional_get.rb
(2.99 KB)
??
config.rb
(410 B)
??
constants.rb
(2.47 KB)
??
content_length.rb
(806 B)
??
content_type.rb
(695 B)
??
deflater.rb
(5.51 KB)
??
directory.rb
(6.02 KB)
??
etag.rb
(1.87 KB)
??
events.rb
(4.8 KB)
??
file.rb
(167 B)
??
files.rb
(5.66 KB)
??
head.rb
(524 B)
??
headers.rb
(2.96 KB)
??
lint.rb
(36.09 KB)
??
lock.rb
(573 B)
??
logger.rb
(414 B)
??
media_type.rb
(1.4 KB)
??
method_override.rb
(1.45 KB)
??
mime.rb
(32.69 KB)
??
mock.rb
(63 B)
??
mock_request.rb
(5.37 KB)
??
mock_response.rb
(3.28 KB)
??
multipart
??
multipart.rb
(1.17 KB)
??
null_logger.rb
(1.18 KB)
??
query_parser.rb
(8.37 KB)
??
recursive.rb
(1.78 KB)
??
reloader.rb
(3.02 KB)
??
request.rb
(24.57 KB)
??
response.rb
(10.72 KB)
??
rewindable_input.rb
(3.12 KB)
??
runtime.rb
(870 B)
??
sendfile.rb
(5.55 KB)
??
show_exceptions.rb
(13.73 KB)
??
show_status.rb
(3.58 KB)
??
static.rb
(6 KB)
??
tempfile_reaper.rb
(778 B)
??
urlmap.rb
(2.81 KB)
??
utils.rb
(21.1 KB)
??
version.rb
(958 B)
Editing: common_logger.rb
# frozen_string_literal: true require_relative 'constants' require_relative 'utils' require_relative 'body_proxy' require_relative 'request' module Rack # Rack::CommonLogger forwards every request to the given +app+, and # logs a line in the # {Apache common log format}[http://httpd.apache.org/docs/1.3/logs.html#common] # to the configured logger. class CommonLogger # Common Log Format: http://httpd.apache.org/docs/1.3/logs.html#common # # lilith.local - - [07/Aug/2006 23:58:02 -0400] "GET / HTTP/1.1" 500 - # # %{%s - %s [%s] "%s %s%s %s" %d %s\n} % # # The actual format is slightly different than the above due to the # separation of SCRIPT_NAME and PATH_INFO, and because the elapsed # time in seconds is included at the end. FORMAT = %{%s - %s [%s] "%s %s%s%s %s" %d %s %0.4f\n} # +logger+ can be any object that supports the +write+ or +<<+ methods, # which includes the standard library Logger. These methods are called # with a single string argument, the log message. # If +logger+ is nil, CommonLogger will fall back <tt>env['rack.errors']</tt>. def initialize(app, logger = nil) @app = app @logger = logger end # Log all requests in common_log format after a response has been # returned. Note that if the app raises an exception, the request # will not be logged, so if exception handling middleware are used, # they should be loaded after this middleware. Additionally, because # the logging happens after the request body has been fully sent, any # exceptions raised during the sending of the response body will # cause the request not to be logged. def call(env) began_at = Utils.clock_time status, headers, body = response = @app.call(env) response[2] = BodyProxy.new(body) { log(env, status, headers, began_at) } response end private # Log the request to the configured logger. def log(env, status, response_headers, began_at) request = Rack::Request.new(env) length = extract_content_length(response_headers) msg = sprintf(FORMAT, request.ip || "-", request.get_header("REMOTE_USER") || "-", Time.now.strftime("%d/%b/%Y:%H:%M:%S %z"), request.request_method, request.script_name, request.path_info, request.query_string.empty? ? "" : "?#{request.query_string}", request.get_header(SERVER_PROTOCOL), status.to_s[0..3], length, Utils.clock_time - began_at) msg.gsub!(/[^[:print:]\n]/) { |c| sprintf("\\x%x", c.ord) } logger = @logger || request.get_header(RACK_ERRORS) # Standard library logger doesn't support write but it supports << which actually # calls to write on the log device without formatting if logger.respond_to?(:write) logger.write(msg) else logger << msg end end # Attempt to determine the content length for the response to # include it in the logged data. def extract_content_length(headers) value = headers[CONTENT_LENGTH] !value || value.to_s == '0' ? '-' : value end end end
Upload File
Create Folder