class WEBrick::HTTPServlet::FileHandler

Serves a directory including fancy indexing and a variety of other options.

Example:

server.mount '/assets', WEBrick::FileHandler, '/path/to/assets'

Public Class Methods

add_handler(suffix, handler) click to toggle source

Allow custom handling of requests for files with suffix by class handler

# File lib/webrick/httpservlet/filehandler.rb, line 181
def self.add_handler(suffix, handler)
  HandlerTable[suffix] = handler
end
new(server, root, options={}, default=Config::FileHandler) click to toggle source

Creates a FileHandler servlet on server that serves files starting at directory root

options may be a Hash containing keys from WEBrick::Config::FileHandler or true or false.

If options is true or false then :FancyIndexing is enabled or disabled respectively.

# File lib/webrick/httpservlet/filehandler.rb, line 202
def initialize(server, root, options={}, default=Config::FileHandler)
  @config = server.config
  @logger = @config[:Logger]
  @root = File.expand_path(root)
  if options == true || options == false
    options = { :FancyIndexing => options }
  end
  @options = default.dup.update(options)
end
remove_handler(suffix) click to toggle source

Remove custom handling of requests for files with suffix

# File lib/webrick/httpservlet/filehandler.rb, line 188
def self.remove_handler(suffix)
  HandlerTable.delete(suffix)
end