Class: WEBrick::HTTPServlet::AbstractServlet

Inherits:
Object
  • Object
show all
Defined in:
lib/webrick/httpservlet/abstract.rb

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (AbstractServlet) initialize(server, *options)

A new instance of AbstractServlet



26
27
28
29
30
# File 'lib/webrick/httpservlet/abstract.rb', line 26

def initialize(server, *options)
  @server = @config = server
  @logger = @server[:Logger]
  @options = options
end

Class Method Details

+ (Object) get_instance(config, *options)



22
23
24
# File 'lib/webrick/httpservlet/abstract.rb', line 22

def self.get_instance(config, *options)
  self.new(config, *options)
end

Instance Method Details

- (Object) do_GET(req, res)

Raises:

  • (HTTPStatus::NotFound)


42
43
44
# File 'lib/webrick/httpservlet/abstract.rb', line 42

def do_GET(req, res)
  raise HTTPStatus::NotFound, "not found."
end

- (Object) do_HEAD(req, res)



46
47
48
# File 'lib/webrick/httpservlet/abstract.rb', line 46

def do_HEAD(req, res)
  do_GET(req, res)
end

- (Object) do_OPTIONS(req, res)



50
51
52
53
54
# File 'lib/webrick/httpservlet/abstract.rb', line 50

def do_OPTIONS(req, res)
  m = self.methods.grep(/\Ado_([A-Z]+)\z/) {$1}
  m.sort!
  res["allow"] = m.join(",")
end

- (Object) service(req, res)



32
33
34
35
36
37
38
39
40
# File 'lib/webrick/httpservlet/abstract.rb', line 32

def service(req, res)
  method_name = "do_" + req.request_method.gsub(/-/, "_")
  if respond_to?(method_name)
    __send__(method_name, req, res)
  else
    raise HTTPStatus::MethodNotAllowed,
          "unsupported method `#{req.request_method}'."
  end
end