View Source hex_core (hex_core v0.10.3)
hex_core
entrypoint module.
Config
Most functions in the hex_core
API takes a configuration. The configuration sets things like HTTP client to use, and API and repository URL. Some of these configuration options will likely be static for your application and some may change depending on the function you call.
Options
* api_key
- Authentication key used when accessing the HTTP API.
* api_organization
- Name of the organization endpoint in the API, this should for example be set when accessing key for a specific organization.
* api_repository
- Name of the repository endpoint in the API, this should for example be set when accessing packages from a specific repository.
* api_url
- URL to the HTTP API (default: https://hex.pm/api
).
* http_adapter
- A tuple of a callback module and its configuration used for HTTP requests (default: {hex_http_httpc, #{profile => default}}
). See hex_http
and hex_http_httpc
for more information.
* http_etag
- Sets the if-none-match
HTTP header with the given value to do a conditional HTTP request.
* http_user_agent_fragment
- Will be appended to the user-agent
HTTP header (default: <<"(httpc)">>
).
* repo_key
- Authentication key used when accessing the repository.
* repo_name
- Name of the repository, used for verifying the repository signature authenticity (default: hexpm
).
* repo_public_key
- Public key used to verify the repository signature (defaults to hexpm public key https://hex.pm/docs/public_keys
).
* repo_url
- URL to the repository (default: https://repo.hex.pm
).
* repo_organization
- Name of the organization repository, appends /repos/:name
to the repository URL and overrides the repo_name
option.
* repo_verify
- If true
will verify the repository signature (default: true
).
* repo_verify_origin
- If true
will verify the repository signature origin, requires protobuf messages as of hex_core v0.4.0 (default: true
).
* tarball_max_size
- Maximum size of package tarball, defaults to 16_777_216
(16 MiB). Set to infinity
to not enforce the limit.
* tarball_max_uncompressed_size
- Maximum size of uncompressed package tarball, defaults to 134_217_728
(128 MiB). Set to infinity
to not enforce the limit.
* docs_tarball_max_size
- Maximum size of docs tarball, defaults to 16_777_216
(16 MiB). Set to infinity
to not enforce the limit.
* docs_tarball_max_uncompressed_size
- Maximum size of uncompressed docs tarball, defaults to 134_217_728
(128 MiB). Set to infinity
to not enforce the limit.
Summary
Types
-type config() :: #{api_key => binary() | undefined, api_organization => binary() | undefined, api_repository => binary() | undefined, api_url => binary(), http_adapter => {module(), map()}, http_etag => binary() | undefined, http_headers => map(), http_user_agent_fragment => binary(), repo_key => binary() | undefined, repo_name => binary(), repo_public_key => binary(), repo_url => binary(), repo_organization => binary() | undefined, repo_verify => boolean(), repo_verify_origin => boolean(), tarball_max_size => pos_integer() | infinity, tarball_max_uncompressed_size => pos_integer() | infinity, docs_tarball_max_size => pos_integer() | infinity, docs_tarball_max_uncompressed_size => pos_integer() | infinity}.
Functions
-spec default_config() -> config().