method
serve
v5.2.3 -
Show latest stable
- Class:
ActionDispatch::Routing::Redirect
serve(req)public
No documentation available.
# File actionpack/lib/action_dispatch/routing/redirection.rb, line 26
def serve(req)
uri = URI.parse(path(req.path_parameters, req))
unless uri.host
if relative_path?(uri.path)
uri.path = "#{req.script_name}/#{uri.path}"
elsif uri.path.empty?
uri.path = req.script_name.empty? ? "/" : req.script_name
end
end
uri.scheme ||= req.scheme
uri.host ||= req.host
uri.port ||= req.port unless req.standard_port?
req.commit_flash
body = %(<html><body>You are being <a href="#{ERB::Util.unwrapped_html_escape(uri.to_s)}">redirected</a>.</body></html>)
headers = {
"Location" => uri.to_s,
"Content-Type" => "text/html",
"Content-Length" => body.length.to_s
}
[ status, headers, [body] ]
end