@type strategy() :: :dns_first | :http_first | :race | :both
@spec resolve(String.t(), strategy()) :: {:ok, String.t()} | :error | {:error, :ambiguous_handle}