ArchAstro.Client (archastro v0.2.0)

Copy Markdown

Immutable entry point for the ArchAstro Platform API.

Summary

Types

option()

@type option() ::
  {:base_url, String.t()}
  | {:req, Req.Request.t()}
  | {:telemetry_metadata, telemetry_metadata()}

t()

@type t() :: %ArchAstro.Client{
  base_url: String.t(),
  request: Req.Request.t(),
  telemetry_metadata: telemetry_metadata(),
  token_binding: ArchAstro.TokenServer.Binding.t()
}

telemetry_metadata()

@type telemetry_metadata() :: %{optional(atom()) => ArchAstro.JSON.t()}

Functions

for_server(token_server, opts \\ [])

@spec for_server(
  ArchAstro.TokenServer.provider() | ArchAstro.TokenServer.server_ref(),
  [option()]
) ::
  {:ok, t()} | {:error, ArchAstro.Error.reason()}

for_session(token_server, session_id, opts \\ [])

@spec for_session(
  ArchAstro.TokenServer.provider() | ArchAstro.TokenServer.server_ref(),
  String.t(),
  [
    option()
  ]
) :: {:ok, t()} | {:error, ArchAstro.Error.reason()}

public(token_server, opts \\ [])