Pristine.SDK.OpenAPI.Client (Pristine v0.3.1)

Copy Markdown View Source

SDK-facing request contracts for generated provider SDKs.

Summary

Types

request_spec_t()

@type request_spec_t() :: %{
  :method => atom() | String.t(),
  :path => String.t(),
  :path_params => map(),
  :query => map(),
  :body => term() | nil,
  :form_data => term() | nil,
  :headers => map() | nil,
  :auth => term() | nil,
  :security => [map()] | nil,
  :request_schema => term() | nil,
  :response_schema => term() | nil,
  :id => String.t() | nil,
  optional(:circuit_breaker) => String.t() | nil,
  optional(:rate_limit) => String.t() | nil,
  optional(:resource) => String.t() | nil,
  optional(:retry) => String.t() | nil,
  optional(:telemetry) => term(),
  optional(:timeout) => pos_integer() | nil,
  optional(:use_default_auth) => boolean(),
  optional(:pagination) => map() | nil
}

request_t()

@type request_t() :: %{
  :method => atom() | String.t(),
  :path_template => String.t(),
  optional(:id) => String.t() | nil,
  optional(:path_params) => map(),
  optional(:query) => map(),
  optional(:body) => term() | nil,
  optional(:form_data) => term() | nil,
  optional(:headers) => map(),
  optional(:auth) => map() | term() | nil,
  optional(:security) => [map()] | nil,
  optional(:request_schema) => term() | nil,
  optional(:response_schema) => term() | nil,
  optional(:response_schemas) => map(),
  optional(:pagination) => map() | nil,
  optional(:resource) => String.t() | nil,
  optional(:retry) => String.t() | nil,
  optional(:circuit_breaker) => String.t() | nil,
  optional(:rate_limit) => String.t() | nil,
  optional(:telemetry) => term(),
  optional(:timeout) => pos_integer() | nil,
  optional(:use_default_auth) => boolean(),
  optional(:opts) => keyword(),
  optional(:args) => map(),
  optional(:call) => {module(), atom()}
}

Functions

items(request, response)

@spec items(request_t(), term()) :: term()

next_page_request(request, response)

@spec next_page_request(request_t(), term()) :: request_t() | nil

partition(params, spec)

request(request)

@spec request(request_t()) :: {:ok, request_t()}

to_operation(request)

@spec to_operation(request_t()) :: Pristine.Operation.t()

to_request_spec(request)

@spec to_request_spec(request_t()) :: request_spec_t()