I'm writing an OmniAuth dynamic provider and in the callback I need to get the current hostname (the app works in several different hostnames). I don't have the request object, just a big env hash. I found this hash contains an entry, env["SERVER_NAME"], with the hostname, but I'm not sure if that's a stable entry or it may change depending on the web server or stuff like that.
I also found the hostname buried in env["action_dispatch.routes"] in the member variable @host.
Any ideas what's the best or canonical way to get the hostname at this point?
The app is not in production yet, but so far the the private beta, using
env["SERVER_NAME"] worked like a charm.
In a rails controller, you can simply use:
Though I'm not sure if that sources anything different from what you already looked at. This works fine for me in a Rails 3.1 app I'm working on.