HTTP Adapters

View Source

Pillar supports multiple HTTP adapters for communicating with ClickHouse servers. This allows you to choose the best implementation for your specific requirements or environment.

Available Adapters

Pillar comes with two built-in HTTP adapters:

  1. Tesla Mint Adapter (default) - Uses Tesla with the Mint HTTP client
  2. Httpc Adapter - Uses Erlang's built-in :httpc module

Adapter Architecture

Each adapter implements the Pillar.HttpClient.Adapter behaviour, which requires a post/3 function:

@callback post(url :: String.t(), post_body :: String.t(), options :: keyword()) ::
            Pillar.HttpClient.Response.t()
            | Pillar.HttpClient.TransportError.t()
            | %{__struct__: RuntimeError, message: String.t()}