Arex.Http (arex v0.1.0)

Copy Markdown View Source

Low-level ArcadeDB HTTP transport.

Most application code should prefer higher-level modules such as Arex.Query, Arex.Command, Arex.Record, Arex.Schema, Arex.Vertex, and Arex.Edge. This module is the thin boundary to the underlying Req-based transport layer.

Arex.Http resolves options, builds authenticated requests, normalizes error responses, and applies the library's read-versus-write retry policy. It is useful for extensions, diagnostics, and coverage of ArcadeDB endpoints that do not justify a dedicated public wrapper yet.

Reach for Arex.Http when you need:

  • raw access to an ArcadeDB HTTP endpoint
  • custom request bodies, query params, or response decoding behavior
  • a temporary escape hatch while evaluating a new public helper

Stay on the higher-level helpers when you want Arex to handle model-specific concerns such as boundary stamping, result normalization, or purpose-built input validation.

Summary

Functions

Executes a raw command request against /api/v1/command/:db.

Checks whether a database exists on the configured server.

Lists databases visible to the configured server credentials.

Executes a raw query request against /api/v1/query/:db.

Performs an authenticated HTTP request against an arbitrary ArcadeDB path.

Executes a server-scoped administrative command.

Fetches ArcadeDB server metadata from /api/v1/server.

Unwraps the common %{"result" => ...} ArcadeDB response envelope when present.

Functions

command_raw(statement, params \\ %{}, opts \\ [])

Executes a raw command request against /api/v1/command/:db.

The target database must be resolved before the request is sent. Write helpers do not allow retry configuration.

exists_database?(db_name, opts \\ [])

Checks whether a database exists on the configured server.

list_databases(opts \\ [])

Lists databases visible to the configured server credentials.

query_raw(statement, params \\ %{}, opts \\ [])

Executes a raw query request against /api/v1/query/:db.

The target database must be resolved before the request is sent. Read retry settings are honored when present.

request(method, path, body \\ nil, opts \\ [])

Performs an authenticated HTTP request against an arbitrary ArcadeDB path.

server_command(command, opts \\ [])

Executes a server-scoped administrative command.

This helper targets /api/v1/server and is used for operations such as database creation and deletion.

server_info(opts \\ [])

Fetches ArcadeDB server metadata from /api/v1/server.

unwrap_result(body)

Unwraps the common %{"result" => ...} ArcadeDB response envelope when present.