GRAYBYTE WORDPRESS FILE MANAGER2432

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/ruby20/lib64/ruby/gems/2.0.0/gems/rack-1.6.4/test/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/ruby20/lib64/ruby/gems/2.0.0/gems/rack-1.6.4/test//spec_sendfile.rb
require 'fileutils'
require 'rack/lint'
require 'rack/sendfile'
require 'rack/mock'
require 'tmpdir'

describe Rack::File do
  should "respond to #to_path" do
    Rack::File.new(Dir.pwd).should.respond_to :to_path
  end
end

describe Rack::Sendfile do
  def sendfile_body
    FileUtils.touch File.join(Dir.tmpdir,  "rack_sendfile")
    res = ['Hello World']
    def res.to_path ; File.join(Dir.tmpdir,  "rack_sendfile") ; end
    res
  end

  def simple_app(body=sendfile_body)
    lambda { |env| [200, {'Content-Type' => 'text/plain'}, body] }
  end

  def sendfile_app(body, mappings = [])
    Rack::Lint.new Rack::Sendfile.new(simple_app(body), nil, mappings)
  end

  def request(headers={}, body=sendfile_body, mappings=[])
    yield Rack::MockRequest.new(sendfile_app(body, mappings)).get('/', headers)
  end

  def open_file(path)
    Class.new(File) do
      unless method_defined?(:to_path)
        alias :to_path :path
      end
    end.open(path, 'wb+')
  end

  it "does nothing when no X-Sendfile-Type header present" do
    request do |response|
      response.should.be.ok
      response.body.should.equal 'Hello World'
      response.headers.should.not.include 'X-Sendfile'
    end
  end

  it "sets X-Sendfile response header and discards body" do
    request 'HTTP_X_SENDFILE_TYPE' => 'X-Sendfile' do |response|
      response.should.be.ok
      response.body.should.be.empty
      response.headers['Content-Length'].should.equal '0'
      response.headers['X-Sendfile'].should.equal File.join(Dir.tmpdir,  "rack_sendfile")
    end
  end

  it "sets X-Lighttpd-Send-File response header and discards body" do
    request 'HTTP_X_SENDFILE_TYPE' => 'X-Lighttpd-Send-File' do |response|
      response.should.be.ok
      response.body.should.be.empty
      response.headers['Content-Length'].should.equal '0'
      response.headers['X-Lighttpd-Send-File'].should.equal File.join(Dir.tmpdir,  "rack_sendfile")
    end
  end

  it "sets X-Accel-Redirect response header and discards body" do
    headers = {
      'HTTP_X_SENDFILE_TYPE' => 'X-Accel-Redirect',
      'HTTP_X_ACCEL_MAPPING' => "#{Dir.tmpdir}/=/foo/bar/"
    }
    request headers do |response|
      response.should.be.ok
      response.body.should.be.empty
      response.headers['Content-Length'].should.equal '0'
      response.headers['X-Accel-Redirect'].should.equal '/foo/bar/rack_sendfile'
    end
  end

  it 'writes to rack.error when no X-Accel-Mapping is specified' do
    request 'HTTP_X_SENDFILE_TYPE' => 'X-Accel-Redirect' do |response|
      response.should.be.ok
      response.body.should.equal 'Hello World'
      response.headers.should.not.include 'X-Accel-Redirect'
      response.errors.should.include 'X-Accel-Mapping'
    end
  end

  it 'does nothing when body does not respond to #to_path' do
    request({'HTTP_X_SENDFILE_TYPE' => 'X-Sendfile'}, ['Not a file...']) do |response|
      response.body.should.equal 'Not a file...'
      response.headers.should.not.include 'X-Sendfile'
    end
  end

  it "sets X-Accel-Redirect response header and discards body when initialized with multiple mappings" do
    begin
      dir1 = Dir.mktmpdir
      dir2 = Dir.mktmpdir

      first_body = open_file(File.join(dir1, 'rack_sendfile'))
      first_body.puts 'hello world'

      second_body = open_file(File.join(dir2, 'rack_sendfile'))
      second_body.puts 'goodbye world'

      mappings = [
        ["#{dir1}/", '/foo/bar/'],
        ["#{dir2}/", '/wibble/']
      ]

      request({'HTTP_X_SENDFILE_TYPE' => 'X-Accel-Redirect'}, first_body, mappings) do |response|
        response.should.be.ok
        response.body.should.be.empty
        response.headers['Content-Length'].should.equal '0'
        response.headers['X-Accel-Redirect'].should.equal '/foo/bar/rack_sendfile'
      end

      request({'HTTP_X_SENDFILE_TYPE' => 'X-Accel-Redirect'}, second_body, mappings) do |response|
        response.should.be.ok
        response.body.should.be.empty
        response.headers['Content-Length'].should.equal '0'
        response.headers['X-Accel-Redirect'].should.equal '/wibble/rack_sendfile'
      end
    ensure
      FileUtils.remove_entry_secure dir1
      FileUtils.remove_entry_secure dir2
    end
  end
end

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 03 2024 22:43:39
root / root
0755
builder
--
March 03 2024 22:43:39
root / root
0755
cgi
--
March 03 2024 22:43:39
root / root
0755
multipart
--
March 03 2024 22:43:39
root / root
0755
rackup
--
March 03 2024 22:43:39
root / root
0755
registering_handler
--
March 03 2024 22:43:39
root / root
0755
static
--
March 03 2024 22:43:39
root / root
0755
unregistered_handler
--
March 03 2024 22:43:39
root / root
0755
gemloader.rb
0.291 KB
December 05 2019 22:59:18
root / root
0644
spec_auth_basic.rb
2.261 KB
December 05 2019 22:59:18
root / root
0644
spec_auth_digest.rb
8.079 KB
December 05 2019 22:59:18
root / root
0644
spec_body_proxy.rb
2.198 KB
December 05 2019 22:59:18
root / root
0644
spec_builder.rb
6.202 KB
December 05 2019 22:59:18
root / root
0644
spec_cascade.rb
2.11 KB
December 05 2019 22:59:18
root / root
0644
spec_cgi.rb
2.925 KB
December 05 2019 22:59:18
root / root
0644
spec_chunked.rb
3.868 KB
December 05 2019 22:59:18
root / root
0644
spec_commonlogger.rb
2.373 KB
December 05 2019 22:59:18
root / root
0644
spec_conditionalget.rb
3.281 KB
December 05 2019 22:59:18
root / root
0644
spec_config.rb
0.531 KB
December 05 2019 22:59:18
root / root
0644
spec_content_length.rb
2.801 KB
December 05 2019 22:59:18
root / root
0644
spec_content_type.rb
1.475 KB
December 05 2019 22:59:18
root / root
0644
spec_deflater.rb
10.041 KB
December 05 2019 22:59:18
root / root
0644
spec_directory.rb
2.194 KB
December 05 2019 22:59:18
root / root
0644
spec_etag.rb
3.836 KB
December 05 2019 22:59:18
root / root
0644
spec_fastcgi.rb
3.08 KB
December 05 2019 22:59:18
root / root
0644
spec_file.rb
6.321 KB
December 05 2019 22:59:18
root / root
0644
spec_handler.rb
1.874 KB
December 05 2019 22:59:18
root / root
0644
spec_head.rb
1.355 KB
December 05 2019 22:59:18
root / root
0644
spec_lint.rb
19.226 KB
December 05 2019 22:59:18
root / root
0644
spec_lobster.rb
1.232 KB
December 05 2019 22:59:18
root / root
0644
spec_lock.rb
4.333 KB
December 05 2019 22:59:18
root / root
0644
spec_logger.rb
0.607 KB
December 05 2019 22:59:18
root / root
0644
spec_methodoverride.rb
2.381 KB
December 05 2019 22:59:18
root / root
0644
spec_mime.rb
1.806 KB
December 05 2019 22:59:18
root / root
0644
spec_mock.rb
9.343 KB
December 05 2019 22:59:18
root / root
0644
spec_mongrel.rb
5.728 KB
December 05 2019 22:59:18
root / root
0644
spec_multipart.rb
23.624 KB
December 05 2019 22:59:18
root / root
0644
spec_nulllogger.rb
0.502 KB
December 05 2019 22:59:18
root / root
0644
spec_recursive.rb
1.828 KB
December 05 2019 22:59:18
root / root
0644
spec_request.rb
42.524 KB
December 05 2019 22:59:18
root / root
0644
spec_response.rb
10.076 KB
December 05 2019 22:59:18
root / root
0644
spec_rewindable_input.rb
2.776 KB
December 05 2019 22:59:18
root / root
0644
spec_runtime.rb
1.533 KB
December 05 2019 22:59:18
root / root
0644
spec_sendfile.rb
4.123 KB
December 05 2019 22:59:18
root / root
0644
spec_server.rb
5.568 KB
December 05 2019 22:59:18
root / root
0644
spec_session_abstract_id.rb
1.293 KB
December 05 2019 22:59:18
root / root
0644
spec_session_cookie.rb
12.937 KB
December 05 2019 22:59:18
root / root
0644
spec_session_memcache.rb
11.116 KB
December 05 2019 22:59:18
root / root
0644
spec_session_pool.rb
6.534 KB
December 05 2019 22:59:18
root / root
0644
spec_showexceptions.rb
2.013 KB
December 05 2019 22:59:18
root / root
0644
spec_showstatus.rb
2.737 KB
December 05 2019 22:59:18
root / root
0644
spec_static.rb
4.603 KB
December 05 2019 22:59:18
root / root
0644
spec_tempfile_reaper.rb
1.574 KB
December 05 2019 22:59:18
root / root
0644
spec_thin.rb
2.548 KB
December 05 2019 22:59:18
root / root
0644
spec_urlmap.rb
8.82 KB
December 05 2019 22:59:18
root / root
0644
spec_utils.rb
24.895 KB
December 05 2019 22:59:18
root / root
0644
spec_version.rb
0.492 KB
December 05 2019 22:59:18
root / root
0644
spec_webrick.rb
5.505 KB
December 05 2019 22:59:18
root / root
0644
testrequest.rb
1.965 KB
December 05 2019 22:59:18
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF