Current section
Files
Jump to
Current section
Files
lib/ipgeobase.ex
defmodule Ipgeobase do
defstruct city: "", country: ""
@initial_state "http://ipgeobase.ru:7020/geo?"
def host, do: @initial_state
@moduledoc false
@doc ~S"""
Find Russian and Ukraine city by IP address. Source http://ipgeobase.ru/
## Examples
iex> ip = Ipgeobase.find_by_ip("46.188.121.160")
%Ipgeobase{city: "Москва", country: "RU"}
iex> ip.city
"Москва"
iex> ip.country
"RU"
"""
def find_by_ip(ip) do
query = URI.encode_query(%{ip: ip})
uri_query = URI.to_string(URI.parse(host <> query))
response = HTTPotion.get(uri_query)
Ipgeobase.Mean.mean(response.body)
end
end