class Hanami::Action::Rack::File

File to be sent

@since 0.4.3 @api private

@see Hanami::Action::Rack#send_file

Constants

PATH_INFO

The key that returns path info from the Rack env

@since 1.0.0 @api private

Public Class Methods

new(path, root) click to toggle source

@param path [String,Pathname] file path

@since 0.4.3 @api private

# File lib/hanami/action/rack/file.rb, line 23
def initialize(path, root)
  @file = ::Rack::File.new(root.to_s)
  @path = path.to_s
end

Public Instance Methods

call(env) click to toggle source

@since 0.4.3 @api private

# File lib/hanami/action/rack/file.rb, line 30
def call(env)
  env = env.dup
  env[PATH_INFO] = @path

  @file.get(env)
rescue Errno::ENOENT
  [404, {}, nil]
end