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

#initialize(server, *options) ⇒ AbstractServlet

Returns 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

.get_instance(config, *options) ⇒ Object



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

#do_GET(req, res) ⇒ Object

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

#do_HEAD(req, res) ⇒ Object



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

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

#do_OPTIONS(req, res) ⇒ Object



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

def do_OPTIONS(req, res)
  m = self.methods.grep(/^do_[A-Z]+$/)
  m.collect!{|i| i.sub(/do_/, "") }
  m.sort!
  res["allow"] = m.join(",")
end

#service(req, res) ⇒ Object



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