AbstractServlet
allows HTTP server modules to be reused across multiple servers and allows encapsulation of functionality.
By default a servlet will respond to GET, HEAD (through an alias to GET) and OPTIONS requests.
By default a new servlet is initialized for every request. A servlet instance can be reused by overriding ::get_instance
in the AbstractServlet
subclass.
class Simple < WEBrick::HTTPServlet::AbstractServlet def do_GET request, response status, content_type, body = do_stuff_with request response.status = status response['Content-Type'] = content_type response.body = body end def do_stuff_with request return 200, 'text/plain', 'you got a page' end end
This servlet can be mounted on a server at a given path:
server.mount '/simple', Simple
Servlets can be configured via initialize. The first argument is the HTTP server the servlet is being initialized for.
class Configurable < Simple def initialize server, color, size super server @color = color @size = size end def do_stuff_with request content = "<p " \ %q{style="color: #{@color}; font-size: #{@size}"} \ ">Hello, World!" return 200, "text/html", content end end
This servlet must be provided two arguments at mount time:
server.mount '/configurable', Configurable, 'red', '2em'
Root of the HTTP error statuses
Root of the HTTP client error statuses
Root of the HTTP server error statuses
This is the JSON
generator implemented as a C extension. It can be configured to be used by setting
JSON.generator = JSON::Ext::Generator
with the method generator= in JSON
.
Indicates a problem with the DNS
request.
Contains information on the agent used to generate the feed.
Reference: validator.w3.org/feed/docs/rfc4287.html#element.generator
A directed acyclic graph that is tuned to hold named dependencies
An error that occurred during the resolution process
An error caused by searching for a dependency that is completely unknown, i.e. has no versions available whatsoever.