PATH: //opt/alt/ruby31/share/gems/gems/rack-3.0.8/lib/rack
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📁 auth/
X
📄 body_proxy.rb
↓
X
📄 builder.rb
↓
X
📄 cascade.rb
↓
X
📄 chunked.rb
↓
X
📄 common_logger.rb
↓
X
📄 conditional_get.rb
↓
X
📄 config.rb
↓
X
📄 constants.rb
↓
X
📄 content_length.rb
↓
X
📄 content_type.rb
↓
X
📄 deflater.rb
↓
X
📄 directory.rb
↓
X
📄 etag.rb
↓
X
📄 events.rb
↓
X
📄 file.rb
↓
X
📄 files.rb
↓
X
📄 head.rb
↓
X
📄 headers.rb
↓
X
📄 lint.rb
↓
X
📄 lock.rb
↓
X
📄 logger.rb
↓
X
📄 media_type.rb
↓
X
📄 method_override.rb
↓
X
📄 mime.rb
↓
X
📄 mock.rb
↓
X
📄 mock_request.rb
↓
X
📄 mock_response.rb
↓
X
📁 multipart/
X
📄 multipart.rb
↓
X
📄 null_logger.rb
↓
X
📄 query_parser.rb
↓
X
📄 recursive.rb
↓
X
📄 reloader.rb
↓
X
📄 request.rb
↓
X
📄 response.rb
↓
X
📄 rewindable_input.rb
↓
X
📄 runtime.rb
↓
X
📄 sendfile.rb
↓
X
📄 show_exceptions.rb
↓
X
📄 show_status.rb
↓
X
📄 static.rb
↓
X
📄 tempfile_reaper.rb
↓
X
📄 urlmap.rb
↓
X
📄 utils.rb
↓
X
📄 version.rb
↓
X
SAVING...
BERHASIL DIUBAH!
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
SIMPAN PERUBAHAN