Pregunta

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?

¿Fue útil?

Solución

Use env hash:

env['REMOTE_ADDR']

Otros consejos

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"]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top