@guching/rest-api-client
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0-alpha.6 • Public • Published

    Halo Rest API Client

    npm version npm node-current NPM

    A http tool for halo restful api.

    Installation

    npm install @halo-dev/rest-api-client

    use require or import to import the library.

    // CommonJS
    const { HaloRestAPIClient } = require("@halo-dev/rest-api-client");
    // ES modules
    import { HaloRestAPIClient } from "@halo-dev/rest-api-client";

    Usage

    const client = new HaloRestAPIClient({
      baseUrl: "https://example.halo.run",
      // Use password authentication
      auth: {
        username: process.env.HALO_USERNAME,
        password: process.env.HALO_PASSWORD,
      }
    });

    The auth parameter supports the following ways:

    1. Use API token authentication
    auth: { apiToken: process.env.HALO_API_TOKEN }
    1. Use Admin token authentication
    auth: { adminToken: process.env.HALO_ADMIN_TOKEN }
    1. Use custom header auth
    auth: {
        type: "customizeAuth",
        authHeader: "Admin-Authorization",
          getToken() {
          return localStorage.getItem("Access_Token")
        }
    }
    1. Use OAuth token authentication
    auth: { oAuthToken : process.env.HALO_OAUTH_TOKEN }

    Basic Auth

    const client = new HaloRestAPIClient({
      baseUrl: "https://example.halo.run",
      // Use basic authentication
      basicAuth: { username: "user", password: "password" }
    });

    In addition to this, it also supports automatic authentication of Token Provider:

    import {
      HaloRestAPIClient,
      LocalStorageTokenStore,
      // FileTokenStore,
      // TokenStore,
      DefaultTokenProvider
    } from "@halo-dev/rest-clint-api";
    
    // Use LocalStorageTokenStore to persistence AccessToken to localStorage(in browser only)
    // you can use FileTokenStore if in the Node environment.
    // If there is no suitable Token store implemention, you can implement your own token storage strategy through the TokenStore interface.
    const localStorageTokenStore = new LocalStorageTokenStore();
    
    // halo api base url.
    const baseUrl = process.env.VUE_APP_BASE_URL;
    
    const haloRestApiClient = new HaloRestAPIClient({
      baseUrl: baseUrl
    });
    
    const buildTokenProvider = credentials => {
      return new DefaultTokenProvider(
        {
          ...credentials
        },
        baseUrl,
        localStorageTokenStore
      );
    };
    
    const tokenProvider = buildTokenProvider({
        username: "your halo username",
        password: "your password"
    });
    haloRestApiClient.setTokenProvider(tokenProvider);
    // now you can use haloRestApiClient to build your api client

    Http Request

    const haloRestApiClient = new HaloRestAPIClient({
      baseUrl: "https://example.halo.run",
      basicAuth: { username: "user", password: "password" }
    });
    // build http client to perform http request
    const client = haloRestApiClient.buildHttpClient();
    
    // api parameters
    const parameters ={}
    // http get
    client.get("https://example.halo.run", parameters)
    // http post
    client.post("https://example.halo.run", parameters)

    License

    MIT license

    Install

    npm i @guching/rest-api-client

    DownloadsWeekly Downloads

    14

    Version

    1.0.0-alpha.6

    License

    MIT

    Unpacked Size

    140 kB

    Total Files

    93

    Last publish

    Collaborators

    • guching