Use env
hash:
env['REMOTE_ADDR']
Question
I have a working rails application with grape-gem working as an end point for some APIs in the application. I need to get the remote ip for the requester and return it back in the response. I could do that on regular controllers using
request.remote_ip
however, in grape calls, the 'request' is not a defined variable.
how can I get access to the remote ip on grape?
Solution
Use env
hash:
env['REMOTE_ADDR']
OTHER TIPS
The 'answer' by @zx1986 is the best / correct. REMOTE_ADDR
is not safe, as outlined in this effort-post answer. The Grape API docs recommend using the direct remote_ip
value (for ActionDispatch) in the request env, when the request helper is obscured, like in the case of Grape:
env["action_dispatch.remote_ip"]
# or
request.env["action_dispatch.remote_ip"]