* lib/webrick/httpservlet/erbhandler.rb: Add documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8c47d51883
commit
d6e3bc4ce4
@ -1,3 +1,7 @@
|
|||||||
|
Fri May 13 07:36:23 2011 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
|
* lib/webrick/httpservlet/erbhandler.rb: Add documentation.
|
||||||
|
|
||||||
Fri May 13 07:04:33 2011 Eric Hodel <drbrain@segment7.net>
|
Fri May 13 07:04:33 2011 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
* lib/mathn.rb: Fix indentation. Patch by Jason Dew.
|
* lib/mathn.rb: Fix indentation. Patch by Jason Dew.
|
||||||
|
@ -15,12 +15,37 @@ require 'erb'
|
|||||||
module WEBrick
|
module WEBrick
|
||||||
module HTTPServlet
|
module HTTPServlet
|
||||||
|
|
||||||
|
##
|
||||||
|
# ERBHandler evaluates an ERB file and returns the result. This handler
|
||||||
|
# is automatically used if there are .rhtml files in a directory served by
|
||||||
|
# the FileHandler.
|
||||||
|
#
|
||||||
|
# ERBHandler supports GET and POST methods.
|
||||||
|
#
|
||||||
|
# The ERB file is evaluated with the local variables +servlet_request+ and
|
||||||
|
# +servlet_response+ which are a WEBrick::HTTPRequest and
|
||||||
|
# WEBrick::HTTPResponse respectively.
|
||||||
|
#
|
||||||
|
# Example .rhtml file:
|
||||||
|
#
|
||||||
|
# Request to <%= servlet_request.request_uri %>
|
||||||
|
#
|
||||||
|
# Query params <%= servlet_request.query.inspect %>
|
||||||
|
|
||||||
class ERBHandler < AbstractServlet
|
class ERBHandler < AbstractServlet
|
||||||
|
|
||||||
|
##
|
||||||
|
# Creates a new ERBHandler on +server+ that will evaluate and serve the
|
||||||
|
# ERB file +name+
|
||||||
|
|
||||||
def initialize(server, name)
|
def initialize(server, name)
|
||||||
super(server, name)
|
super(server, name)
|
||||||
@script_filename = name
|
@script_filename = name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# Handles GET requests
|
||||||
|
|
||||||
def do_GET(req, res)
|
def do_GET(req, res)
|
||||||
unless defined?(ERB)
|
unless defined?(ERB)
|
||||||
@logger.warn "#{self.class}: ERB not defined."
|
@logger.warn "#{self.class}: ERB not defined."
|
||||||
@ -39,9 +64,17 @@ module WEBrick
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# Handles POST requests
|
||||||
|
|
||||||
alias do_POST do_GET
|
alias do_POST do_GET
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
##
|
||||||
|
# Evaluates +erb+ providing +servlet_request+ and +servlet_response+ as
|
||||||
|
# local variables.
|
||||||
|
|
||||||
def evaluate(erb, servlet_request, servlet_response)
|
def evaluate(erb, servlet_request, servlet_response)
|
||||||
Module.new.module_eval{
|
Module.new.module_eval{
|
||||||
servlet_request.meta_vars
|
servlet_request.meta_vars
|
||||||
|
Loading…
x
Reference in New Issue
Block a user