Jak uzyskać adres IP klienta w kontrolerze Grails?

Miałem taki kod w Ruby:

@clientipaddress = request.env["HTTP_CLIENT_IP"]
if (@clientipaddress == nil)
  @clientipaddress = request.env["HTTP_X_FORWARDED_FOR"]
end
if (@clientipaddress == nil)
  @clientipaddress = request.env["REMOTE_ADDR"]
end
if (@clientipaddress != nil)
  comma = @clientipaddress.index(",")
  if (comma != nil && comma >= 0)
    @clientipaddress = @clientipaddress[0, comma]
  end
end

Zadbał o wszystkie możliwe sposoby wyświetlania adresu IP. Na przykład na moim lokalnym komputerze programistycznym nie ma serwera proxy. Ale w dziale kontroli jakości i produkcji znajdują się serwery proxy, które czasami zapewniają więcej niż jeden adres.

Nie muszę znać składni Groovy, tylko które metody dają mi odpowiednik trzech różnych sposobów, w jakie proszę o adres IP powyżej.

questionAnswers(2)

yourAnswerToTheQuestion