Client

This class is responsible for performing HTTP requests to Uphold's API, being the browser version based on the Fetch API and the Node.js version based on request-promise.

If you wish to extend the request handler with added functionality or if you don't like the idea of using a polyfill, you can simply override the client property and roll your own XHR client implementation.

Pseudo-implementation of an alternative client:

import SDK, { Client } from '@uphold/uphold-sdk-javascript';

class AlternativeClient extends Client {
  request(url, method, body, customHeaders = {}) {
    // Make your own implementation, but make sure it returns a Promise that resolves
    // or rejects an object with the schema demonstrated at the bottom of this section.
  }
}

export default class extends SDK {
  constructor() {
    super(...arguments);

    this.client = new AlternativeClient();
  }
}

Properties

Property Type Description
defaultHeaders Object Default headers sent to every Uphold API request

Client default properties:

{
  "defaultHeaders": {
    "user-agent": "uphold-sdk-javascript/<version>"
  }
}

Methods

.request()

This method is responsible for performing HTTP requests to Uphold's API.

Argument Type Required Description
url String Yes Full endpoint URL
method String Yes HTTP method
body Object Yes Request body
headers Object No Request headers

This method must resolve an object with the following schema so that pagination and errors can be handled in a proper fashion:

{
  "body": {
    "code": "unauthorized",
    "message": "Unauthorized"
  },
  "headers": {
    "otp-token": "required"
  },
  "status": 401
}

This method returns a Promise.

results matching ""

    No results matching ""