Current section
Files
Jump to
Current section
Files
lib/api_brasil/data/database_ip.ex
defmodule ApiBrasil.Data.DatabaseIp do
@moduledoc """
GeoIP (device-based): `POST /database/ip`.
{:ok, envelope} = ApiBrasil.Data.DatabaseIp.ip(client, %{"ip" => "8.8.8.8"})
ApiBrasil.Core.DeviceResponse.response(envelope)
"""
use ApiBrasil.Core.Service
@doc """
Consulta a base de IPs: `POST /database/ip`, com body `%{"ip" => "8.8.8.8"}`.
"""
@spec ip(Client.t(), term(), keyword()) :: {:ok, DeviceResponse.t()} | {:error, Error.t()}
def ip(client, body \\ nil, opts \\ []) do
Service.device(client, "database", "ip", body, opts)
end
@doc "Como `ip/3`, mas levanta `ApiBrasil.Core.Error` em caso de falha."
@spec ip!(Client.t(), term(), keyword()) :: DeviceResponse.t()
def ip!(client, body \\ nil, opts \\ []) do
Service.unwrap!(ip(client, body, opts))
end
end