Class: PHPServer::HTTPServer
- Inherits:
-
HTTPServer
- Object
- HTTPServer
- PHPServer::HTTPServer
- Defined in:
- lib/php-server.rb
Instance Method Summary collapse
-
#initialize(*arg) ⇒ HTTPServer
constructor
A new instance of HTTPServer.
- #rewrite(pattern, subst) ⇒ Object
- #service(req, res) ⇒ Object
Constructor Details
#initialize(*arg) ⇒ HTTPServer
Returns a new instance of HTTPServer.
8 9 10 11 12 |
# File 'lib/php-server.rb', line 8 def initialize *arg @rewrite_rules = [] super mount '/', WEBrick::HTTPServlet::FileHandler, config[:DocumentRoot], :FancyIndexing => true, :HandlerTable => { 'php' => PHPServer::PHPHandler } end |
Instance Method Details
#rewrite(pattern, subst) ⇒ Object
14 15 16 17 |
# File 'lib/php-server.rb', line 14 def rewrite pattern, subst @logger.info "rewrite rule #{pattern.inspect} -> #{subst}." @rewrite_rules << [pattern, subst] end |
#service(req, res) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/php-server.rb', line 19 def service req, res path = req.path @rewrite_rules.each do |pattern, subst| if pattern =~ path new_path = path.gsub pattern, subst @logger.info "rewrote url from #{path} to #{new_path}" req.instance_variable_set "@path", new_path break end end super req, res end |