PATH:
opt
/
alt
/
ruby20
/
lib64
/
ruby
/
gems
/
2.0.0
/
gems
/
rack-1.6.4
/
lib
/
rack
module Rack class MethodOverride HTTP_METHODS = %w(GET HEAD PUT POST DELETE OPTIONS PATCH LINK UNLINK) METHOD_OVERRIDE_PARAM_KEY = "_method".freeze HTTP_METHOD_OVERRIDE_HEADER = "HTTP_X_HTTP_METHOD_OVERRIDE".freeze ALLOWED_METHODS = ["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] method.to_s.upcase end private def allowed_methods ALLOWED_METHODS end def method_override_param(req) req.POST[METHOD_OVERRIDE_PARAM_KEY] rescue Utils::InvalidParameterError, Utils::ParameterTypeError end end end
[+]
auth
[-] rewindable_input.rb
[edit]
[-] deflater.rb
[edit]
[-] lobster.rb
[edit]
[-] tempfile_reaper.rb
[edit]
[-] directory.rb
[edit]
[-] utils.rb
[edit]
[+]
multipart
[-] builder.rb
[edit]
[-] response.rb
[edit]
[-] request.rb
[edit]
[-] server.rb
[edit]
[-] methodoverride.rb
[edit]
[+]
handler
[-] head.rb
[edit]
[-] logger.rb
[edit]
[-] static.rb
[edit]
[+]
backports
[-] mock.rb
[edit]
[-] chunked.rb
[edit]
[-] runtime.rb
[edit]
[-] nulllogger.rb
[edit]
[-] urlmap.rb
[edit]
[-] showexceptions.rb
[edit]
[+]
..
[-] mime.rb
[edit]
[-] config.rb
[edit]
[-] lint.rb
[edit]
[-] commonlogger.rb
[edit]
[-] content_type.rb
[edit]
[-] reloader.rb
[edit]
[+]
utils
[-] recursive.rb
[edit]
[-] multipart.rb
[edit]
[-] body_proxy.rb
[edit]
[-] sendfile.rb
[edit]
[-] etag.rb
[edit]
[-] cascade.rb
[edit]
[-] file.rb
[edit]
[-] conditionalget.rb
[edit]
[-] lock.rb
[edit]
[-] handler.rb
[edit]
[-] showstatus.rb
[edit]
[+]
session
[-] content_length.rb
[edit]