ZenWebsocket.Examples.PlatformAdapterTemplate (ZenWebsocket v0.6.0)

Copy Markdown View Source

Minimal template for creating platform-specific WebSocket adapters.

Extension Points

  • handle_message/2 - Process platform-specific messages
  • format_subscription/1 - Convert channels to platform format
  • authenticate/2 - Implement platform authentication

Summary

Functions

Authenticate with platform credentials

Connect to platform WebSocket endpoint

Handle incoming platform messages

Subscribe to platform channels

Functions

authenticate(client, credentials)

@spec authenticate(ZenWebsocket.Client.t(), map()) ::
  :ok | {:ok, map()} | {:error, term()}

Authenticate with platform credentials

connect(url, opts \\ [])

@spec connect(
  String.t(),
  keyword()
) :: {:ok, ZenWebsocket.Client.t()} | {:error, term()}

Connect to platform WebSocket endpoint

handle_message(msg, state)

@spec handle_message(map(), term()) ::
  {:ok, term(), term()} | {:error, term(), term()}

Handle incoming platform messages

request(client, method, params \\ %{})

@spec request(ZenWebsocket.Client.t(), String.t(), map()) ::
  :ok | {:ok, map()} | {:error, term()}

Send platform request

subscribe(client, channels)

@spec subscribe(ZenWebsocket.Client.t(), [String.t()]) ::
  :ok | {:ok, map()} | {:error, term()}

Subscribe to platform channels