class Moved
Rewrite requests that match the given pattern to a new prefix.
Definitions
def initialize(app, pattern, prefix, status: 301, flatten: false)
Initialize prefix redirection behavior.
Signature
-
parameter
appInterface(:call) The downstream application.
-
parameter
patternRegexp The path pattern.
-
parameter
prefixString The prefix.
-
parameter
statusInteger The status.
-
parameter
flattenbool Whether to flatten the rewritten path.
Implementation
def initialize(app, pattern, prefix, status: 301, flatten: false)
@app = app
@pattern = pattern
@prefix = prefix
@flatten = flatten
super(app, status: status)
end
def [](path)
Redirect a matching path to the configured prefix.
Signature
-
parameter
pathString The normalized request path.
-
returns
Array | Nil The redirect response when the pattern matches.
Implementation
def [] path
if path.start_with?(@pattern)
if @flatten
return redirect(@prefix)
else
return redirect(path.sub(@pattern, @prefix))
end
end
end