X7ROOT File Manager
Current Path:
/opt/alt/ruby27/share/gems/gems/rack-3.0.8/lib/rack
opt
/
alt
/
ruby27
/
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: method_override.rb
# frozen_string_literal: true require_relative 'constants' require_relative 'request' require_relative 'utils' module Rack class MethodOverride HTTP_METHODS = %w[GET HEAD PUT POST DELETE OPTIONS PATCH LINK UNLINK] METHOD_OVERRIDE_PARAM_KEY = "_method" HTTP_METHOD_OVERRIDE_HEADER = "HTTP_X_HTTP_METHOD_OVERRIDE" ALLOWED_METHODS = %w[POST] def initialize(app) @app = app end def call(env) if allowed_methods.include?(env[REQUEST_METHOD]) method = method_override(env) if HTTP_METHODS.include?(method) env[RACK_METHODOVERRIDE_ORIGINAL_METHOD] = env[REQUEST_METHOD] env[REQUEST_METHOD] = method end end @app.call(env) end def method_override(env) req = Request.new(env) method = method_override_param(req) || env[HTTP_METHOD_OVERRIDE_HEADER] begin method.to_s.upcase rescue ArgumentError env[RACK_ERRORS].puts "Invalid string for method" end end private def allowed_methods ALLOWED_METHODS end def method_override_param(req) req.POST[METHOD_OVERRIDE_PARAM_KEY] if req.form_data? || req.parseable_data? rescue Utils::InvalidParameterError, Utils::ParameterTypeError, QueryParser::ParamsTooDeepError req.get_header(RACK_ERRORS).puts "Invalid or incomplete POST params" rescue EOFError req.get_header(RACK_ERRORS).puts "Bad request content body" end end end
Upload File
Create Folder