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: mock_response.rb
# frozen_string_literal: true require 'cgi/cookie' require 'time' require_relative 'response' module Rack # Rack::MockResponse provides useful helpers for testing your apps. # Usually, you don't create the MockResponse on your own, but use # MockRequest. class MockResponse < Rack::Response class << self alias [] new end # Headers attr_reader :original_headers, :cookies # Errors attr_accessor :errors def initialize(status, headers, body, errors = nil) @original_headers = headers if errors @errors = errors.string if errors.respond_to?(:string) else @errors = "" end super(body, status, headers) @cookies = parse_cookies_from_header buffered_body! end def =~(other) body =~ other end def match(other) body.match other end def body return @buffered_body if defined?(@buffered_body) # FIXME: apparently users of MockResponse expect the return value of # MockResponse#body to be a string. However, the real response object # returns the body as a list. # # See spec_showstatus.rb: # # should "not replace existing messages" do # ... # res.body.should == "foo!" # end buffer = @buffered_body = String.new @body.each do |chunk| buffer << chunk end return buffer end def empty? [201, 204, 304].include? status end def cookie(name) cookies.fetch(name, nil) end private def parse_cookies_from_header cookies = Hash.new if headers.has_key? 'set-cookie' set_cookie_header = headers.fetch('set-cookie') Array(set_cookie_header).each do |header_value| header_value.split("\n").each do |cookie| cookie_name, cookie_filling = cookie.split('=', 2) cookie_attributes = identify_cookie_attributes cookie_filling parsed_cookie = CGI::Cookie.new( 'name' => cookie_name.strip, 'value' => cookie_attributes.fetch('value'), 'path' => cookie_attributes.fetch('path', nil), 'domain' => cookie_attributes.fetch('domain', nil), 'expires' => cookie_attributes.fetch('expires', nil), 'secure' => cookie_attributes.fetch('secure', false) ) cookies.store(cookie_name, parsed_cookie) end end end cookies end def identify_cookie_attributes(cookie_filling) cookie_bits = cookie_filling.split(';') cookie_attributes = Hash.new cookie_attributes.store('value', cookie_bits[0].strip) cookie_bits.drop(1).each do |bit| if bit.include? '=' cookie_attribute, attribute_value = bit.split('=', 2) cookie_attributes.store(cookie_attribute.strip.downcase, attribute_value.strip) end if bit.include? 'secure' cookie_attributes.store('secure', true) end end if cookie_attributes.key? 'max-age' cookie_attributes.store('expires', Time.now + cookie_attributes['max-age'].to_i) elsif cookie_attributes.key? 'expires' cookie_attributes.store('expires', Time.httpdate(cookie_attributes['expires'])) end cookie_attributes end end end
Upload File
Create Folder