Railsr.HTTP (Railsr v1.0.0)

Copy Markdown View Source

Core HTTP request pipeline for the railsr client.

Handles:

You should not call this module directly — use the resource modules.

Summary

Functions

Convenience wrapper: DELETE request.

Convenience wrapper: GET request.

Convenience wrapper: PATCH request.

Convenience wrapper: POST request.

Convenience wrapper: PUT request.

Execute an HTTP request through the full middleware pipeline.

Functions

delete(path, opts \\ [])

@spec delete(
  String.t(),
  keyword()
) :: {:ok, any()} | {:error, Railsr.Error.t()}

Convenience wrapper: DELETE request.

get(path, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: {:ok, any()} | {:error, Railsr.Error.t()}

Convenience wrapper: GET request.

patch(path, body \\ %{}, opts \\ [])

@spec patch(String.t(), map(), keyword()) :: {:ok, any()} | {:error, Railsr.Error.t()}

Convenience wrapper: PATCH request.

post(path, body \\ %{}, opts \\ [])

@spec post(String.t(), map(), keyword()) :: {:ok, any()} | {:error, Railsr.Error.t()}

Convenience wrapper: POST request.

put(path, body \\ %{}, opts \\ [])

@spec put(String.t(), map(), keyword()) :: {:ok, any()} | {:error, Railsr.Error.t()}

Convenience wrapper: PUT request.

request(opts)

@spec request(keyword()) :: {:ok, map() | list()} | {:error, Railsr.Error.t()}

Execute an HTTP request through the full middleware pipeline.

Options

  • :method:get | :post | :put | :patch | :delete

  • :path — API path string, e.g. "/v1/customer/ledgers"
  • :body — map to be JSON-encoded (optional)
  • :query — map of query parameters (optional)
  • :headers — additional headers keyword list (optional)
  • :idempotency_key — override auto-generated key (optional)
  • :environment — override :environment config (optional)
  • :timeout — override timeout (optional)