class Conjur::Rack::PathPrefix

Constants

EMPTY_STRING
SLASH

Public Class Methods

new(app, path_prefix = nil) click to toggle source

@api private

# File lib/conjur/rack/path_prefix.rb, line 9
def initialize(app, path_prefix = nil)
  @app = app
  @path_prefix = /^#{Regexp.escape(path_prefix)}/
end

Public Instance Methods

call(env) click to toggle source

@api plugin

# File lib/conjur/rack/path_prefix.rb, line 15
def call(env)
  strip_path_prefix(env) 
  @app.call(env)
end
strip_path_prefix(env) click to toggle source

@api private

# File lib/conjur/rack/path_prefix.rb, line 21
def strip_path_prefix(env)
  ['PATH_INFO', 'REQUEST_URI'].each do |path_key|
    if env[path_key] =~ @path_prefix
      env[path_key].sub!(@path_prefix, EMPTY_STRING)
      env[path_key] = SLASH if env[path_key].empty?
    end
  end
end