Skip to main content

TS SDK HTTP Client

Default HTTP Client

The SDK uses @aptos-labs/aptos-client library with the ability to modify some request configurations like AUTH_TOKEN, HEADERS, etc.

The @aptos-labs/aptos-client package supports http2 protocol and implements 2 clients environment based:

  • axios - To use in a browser environment (in a browser env it is up to the browser and the server to negotiate http2 connection)
  • got - To use in a node environment (to support http2 in node environment, still the server must support http2 also)

Custom HTTP Client

Sometimes developers want to set custom configurations or use a specific http client for queries.

The SDK supports a custom client configuration as a function with this signature:

<Req, Res>(requestOptions: ClientRequest<Req>): Promise<ClientResponse<Res>>
note

Both ClientRequest and ClientResponse are types defined in the SDK.

async function customClient<Req, Res>(requestOptions: ClientRequest<Req>): Promise<ClientResponse<Res>> {
....
}

const config = new AptosConfig({ client: { provider: customClient } });
const aptos = new Aptos(config);