esi v0.1.1 ESI
Summary
Functions
Execute a request
Execute a request and raise an error if it is not successful
Generate a stream from a request, supporting automatic pagination
Functions
Execute a request.
Arguments
request— the requestopts— any additional options to set on the request
request!(req, opts \\ [])
request!(req :: ESI.Request.t, opts :: ESI.Request.request_opts) :: {:ok, any} | {:error, any}
request!(req :: ESI.Request.t, opts :: ESI.Request.request_opts) :: any
Execute a request and raise an error if it is not successful.
Generate a stream from a request, supporting automatic pagination.
Examples
Paginating, without stream!; you need to manually handle incrementing the
:page option:
iex> ESI.API.Universe.groups() |> ESI.request! |> length
1000
iex> ESI.API.Universe.groups(page: 2) |> ESI.request! |> length
284
Paginating with stream!, you don’t have to care about :page:
iex> ESI.API.Universe.groups() |> ESI.stream! |> Enum.take(1020) |> length
1020
Like any stream, you can use Enum.to_list/1 to get all the items:
iex> ESI.API.Universe.groups() |> ESI.stream! |> Enum.to_list |> length
1284
It even works for requests that don’t paginate:
iex> ESI.API.Universe.bloodlines() |> ESI.stream! |> Enum.to_list |> length
15