Current section

Files

Jump to
bungee lib bungee request builder add_request_options.ex
Raw

lib/bungee/request/builder/add_request_options.ex

defmodule Bungee.Request.Builder.AddRequestOptions do
def add_request_options(request, []) do
if true == Application.get_env(:bungee, :auto_wait_for, false) do
add_request_option(request, {:refresh, :wait_for})
else
request
end
end
def add_request_options(request, [head | tail]) do
request
|> add_request_option(head)
|> add_request_options(tail)
end
def add_request_option(request, {:refresh, true}) do
request
|> Keyword.update!(:url, fn url ->
url <> "?refresh=true"
end)
end
def add_request_option(request, {:refresh, false}) do
request
|> Keyword.update!(:url, fn url ->
url <> "?refresh=false"
end)
end
def add_request_option(request, {:refresh, :wait_for}) do
request
|> Keyword.update!(:url, fn url ->
url <> "?refresh=wait_for"
end)
end
def add_request_option(request, {:search, true}) do
request
|> Keyword.update!(:url, fn url ->
url <> "/_search"
end)
end
end