| Class | Merb::Rack::PathPrefix |
| In: |
merb-core/lib/merb-core/rack/middleware/path_prefix.rb
|
| Parent: | Merb::Rack::Middleware |
:api: private
# File merb-core/lib/merb-core/rack/middleware/path_prefix.rb, line 6 6: def initialize(app, path_prefix = nil) 7: super(app) 8: @path_prefix = /^#{Regexp.escape(path_prefix)}/ 9: end
:api: plugin
# File merb-core/lib/merb-core/rack/middleware/path_prefix.rb, line 18
18: def call(env)
19: strip_path_prefix(env)
20: @app.call(env)
21: end
:api: plugin
# File merb-core/lib/merb-core/rack/middleware/path_prefix.rb, line 12
12: def deferred?(env)
13: strip_path_prefix(env)
14: @app.deferred?(env)
15: end
:api: private
# File merb-core/lib/merb-core/rack/middleware/path_prefix.rb, line 24
24: def strip_path_prefix(env)
25: ['PATH_INFO', 'REQUEST_URI'].each do |path_key|
26: if env[path_key] =~ @path_prefix
27: env[path_key].sub!(@path_prefix, Merb::Const::EMPTY_STRING)
28: env[path_key] = Merb::Const::SLASH if env[path_key].empty?
29: end
30: end
31: end