Numerous Problems Multiplied

    @adobe/api-client-base

    0.3.2 • Public • Published

    License Version Downloads/week Build Status codecov Greenkeeper badge Language grade: JavaScript

    adobe-api-client-base

    Base class for building Adobe API clients

    Goals

    A base class for building API clients for Adobe solutions running on the Adobe.IO API gateway.

    This package is build upon adobe-fetch which handles the low level API call, JWT authentication, token caching and storage.

    Installation

    npm install --save @adobe/api-client-base
    

    Common Usage

    • Option A - Provide an adobefetch instance:
        const { BaseClient } = require('@adobe/api-client-base');
        
        const config = { 
          auth: { ... See adobe/fetch documentation for details ... }
        };
        
        const adobefetch = require('@adobe/fetch').config(config);
        const client = new BaseClient(adobefetch, { rootPath: '/path/to/api' });
    • Option B - Provide the auth configuration, adobefetch will be instantiated automatically:
        const { BaseClient } = require('@adobe/api-client-base');
        
        const client = new BaseClient(adobefetch, { 
          auth: { ... See adobe/fetch documentation for details ... }, 
          rootPath: '/path/to/api' 
        });

    Creating your own API client class

    To create your own API client class, extend BaseClient and override the default options function. Then you can create helper methods for calling specific APIs.

    For example:

    const { BaseClient } = require('@adobe/api-client-base');
    
    class MyApiClient extends BaseClient {
      constructor(fetch, opts) {
        super(fetch, opts);
        this.someParameter = opts.someParameter;
      }
    
      _default() {
        return {
          name: 'myapi',
          gateway: 'https://myapi.adobe.io',
          rootPath: '/path/to/api',
          headers: {
            'x-some-header': 'some-value'
          }
        };
      }
    
      // Call https://myapi.adobe.io/path/to/api/foo/bar 
      getFooBar(parameters = {}) {
        const path = this.addParamsToPath('/foo/bar', parameters);
        return this.get(path);
      }

    Contributing

    Contributions are welcomed! Read the Contributing Guide for more information.

    Licensing

    This project is licensed under the Apache V2 License. See LICENSE for more information.

    Install

    npm i @adobe/api-client-base

    DownloadsWeekly Downloads

    5

    Version

    0.3.2

    License

    Apache-2.0

    Unpacked Size

    57.3 kB

    Total Files

    21

    Last publish

    Collaborators

    • adobehalls
    • fullcolorcoder
    • marbec
    • tripod
    • garthdb
    • lazd
    • adobe-admin
    • patrickfulton
    • trieloff
    • shazron
    • krisnye
    • dcpfsdk
    • natebaldwin
    • devongovett
    • aspro83
    • symanovi
    • dpfister
    • stefan-guggisberg
    • korra
    • rofe
    • kptdobe