QlikElixir.Config (qlik_elixir v0.1.0)

View Source

Configuration management for QlikElixir.

Supports configuration through:

  • Environment variables: QLIK_API_KEY, QLIK_TENANT_URL, QLIK_CONNECTION_ID
  • Runtime configuration
  • Application configuration

Summary

Functions

Gets the base URL for API requests.

Gets the default configuration.

Gets the headers for API requests.

Merges configuration options with defaults.

Creates a new configuration struct.

Validates a configuration struct.

Types

t()

@type t() :: %QlikElixir.Config{
  api_key: String.t(),
  connection_id: String.t() | nil,
  http_options: keyword(),
  tenant_url: String.t()
}

Functions

base_url(config)

@spec base_url(t()) :: String.t()

Gets the base URL for API requests.

default()

@spec default() :: t()

Gets the default configuration.

headers(config)

@spec headers(t()) :: [{String.t(), String.t()}]

Gets the headers for API requests.

merge(config, opts)

@spec merge(
  t(),
  keyword()
) :: t()

Merges configuration options with defaults.

new(opts \\ [])

@spec new(keyword()) :: t()

Creates a new configuration struct.

Examples

iex> config = QlikElixir.Config.new(api_key: "key", tenant_url: "https://tenant.qlikcloud.com")
iex> config.api_key
"key"
iex> config.tenant_url
"https://tenant.qlikcloud.com"

validate(config)

@spec validate(t()) :: {:ok, t()} | {:error, QlikElixir.Error.t()}

Validates a configuration struct.

Returns {:ok, config} if valid, or {:error, reason} if invalid.