Latest Supply Chain Attack:Mini Shai-Hulud Hits @antv npm Packages, 639 Versions Compromised.Learn More
Sign In

@halo-dev/rest-api-client

Package Overview
Dependencies
Maintainers
2
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@halo-dev/rest-api-client

Halo REST API client for JavaScript

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
113
-29.37%
Maintainers
2
Weekly downloads
 
Created
Source

Halo Rest API Client

npm version npm node-current NPM

HTTP Client 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',
})

The auth parameter supports the following ways:

  • Use API token authentication
auth: {
  apiToken: process.env.HALO_API_TOKEN
}
  • Use Admin token authentication
auth: {
  adminToken: process.env.HALO_ADMIN_TOKEN
}
  • Use custom header auth
auth: {
  type: "customizeAuth",
    authHeader
:
  "Admin-Authorization",
    getToken()
  {
    return localStorage.getItem("Access_Token")
  }
}
  • 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

Keywords

halo

FAQs

Package last updated on 27 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts