diff options
Diffstat (limited to 'lib/webrick')
-rw-r--r-- | lib/webrick/httpserver.rb | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/webrick/httpserver.rb b/lib/webrick/httpserver.rb index 6945868ec8..e85d059319 100644 --- a/lib/webrick/httpserver.rb +++ b/lib/webrick/httpserver.rb @@ -68,8 +68,8 @@ module WEBrick def run(sock) while true - res = HTTPResponse.new(@config) - req = HTTPRequest.new(@config) + req = create_request(@config) + res = create_response(@config) server = self begin timeout = @config[:RequestTimeout] @@ -225,6 +225,20 @@ module WEBrick end ## + # Creates the HTTPRequest used when handling the HTTP + # request. Can be overridden by subclasses. + def create_request(with_webrick_config) + HTTPRequest.new(with_webrick_config) + end + + ## + # Creates the HTTPResponse used when handling the HTTP + # request. Can be overridden by subclasses. + def create_response(with_webrick_config) + HTTPResponse.new(with_webrick_config) + end + + ## # Mount table for the path a servlet is mounted on in the directory space # of the server. Users of WEBrick can only access this indirectly via # WEBrick::HTTPServer#mount, WEBrick::HTTPServer#unmount and |