View Source Avrora.Config behaviour (avrora v0.27.0)

Configuration for Avrora.

Options:

* `otp_app` name of the OTP application to use for addition `schemas_path` root folder configuration, default `nil`
* `schemas_path` path to local schema files, default `./priv/schemas`
* `registry_url` URL for Schema Registry, default `nil`
* `registry_auth` authentication settings for Schema Registry, default `nil`
* `registry_user_agent` HTTP `User-Agent` header for Schema Registry requests, default `Avrora/<version> Elixir`
* `registry_schemas_autoreg` automatically register schemas in Schema Registry, default `true`
* `convert_null_values` convert `:null` values in the decoded message into `nil`, default `true`
* `convert_map_to_proplist` bring back old behavior and configure decoding AVRO map-type as proplist, default `false`
* `names_cache_ttl` duration to cache global schema names millisecods, default `:infinity`
* `decoder_hook` function to amend decoded payload, default `fn _, _, data, fun -> fun.(data) end`

Internal use interface:

* `file_storage` module which handles files in `schemas_path`, default `Avrora.Storage.File`
* `memory_storage` module which handles memory operations, default `Avrora.Storage.Memory`
* `registry_storage` module which handles Schema Registry requests, default `Avrora.Storage.Registry`
* `http_client` module which handles HTTP client requests to Schema Registry, default `Avrora.HTTPClient`
* `ets_lib` module which creates ETS tables with call `Module.new/0`

Summary

Callbacks

Link to this callback

convert_map_to_proplist()

View Source
@callback convert_map_to_proplist() :: boolean()
@callback convert_null_values() :: boolean()
@callback decoder_hook() :: (any(), any(), any(), any() -> any())
@callback ets_lib() :: module() | atom()
@callback file_storage() :: module()
@callback http_client() :: module()
@callback memory_storage() :: module()
@callback names_cache_ttl() :: integer() | atom()
@callback registry_auth() :: tuple() | nil
Link to this callback

registry_schemas_autoreg()

View Source
@callback registry_schemas_autoreg() :: boolean()
@callback registry_storage() :: module()
@callback registry_url() :: String.t() | nil
@callback registry_user_agent() :: String.t() | nil
@callback schemas_path() :: String.t()