I'd use request.host...
That calls raw_host_with_port (and trims the port). raw_host_with_port looks like this:
def raw_host_with_port
if forwarded = env["HTTP_X_FORWARDED_HOST"]
forwarded.split(/,\s?/).last
else
env['HTTP_HOST'] || "#{env['SERVER_NAME'] || env['SERVER_ADDR']}:#{env['SERVER_PORT']}"
end
end
So does some extra checking for you...
-philip