@irv/kong-client-public
Signs API requests according to Kong 1.0 specifications.
Last updated 3 months ago by jonathanhe .
Apache-2.0 · Repository · Original npm · Tarball · package.json
$ cnpm install @irv/kong-client-public 
SYNC missed versions from official npm registry.

Kong Client

Wraps the node-fetch api with kong signing.

Usage

const kongClient = require('@irv/kong-client-public');

// Constructor takes an OBJECT containing the following fields
const client = new kongClient.Client({
	baseUrl, // The api url you are trying to reach
	username, // The Kong username from system admin
	secret, // The Kong secret from system admin
	isSigningEnabled = false, // Default is false. Kong 1.0 compatible signing.
	timeout = 300000, // Default timeout
});

// Make api calls using fetch
client.fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' })
    .then(res => res.json()) // expecting a json response
    .then(json => console.log(json));

Note: baseUrl is optional for the client. If no baseUrl is provided, the client will use path in the fetch call as the url. If provided, client will concatenate baseUrl and path

Hooks

You can add pre and post request hooks to the client. These callbacks will be executed before and after every request (like middleware).

// Pre Request Hook
const logReqHook = (url: string, options?: RequestInit) => {
	console.log(url, options);
};

// Post Request Hook
const logResHook = async (res: Response) => {
	try {
		const response = res.clone();
		console.log(await response.json());
	} catch (err) {} // DELETE and HEAD calls have no response, so response.json() will throw
};


// Attaching to client
client.beforeRequest(logReqHook);
client.afterRequest(logResHook);

Available Functions

fetch(path: string, options?: RequestInit): Promise<Response> - Call to make any api request.

Function Parameters:

path -[required] (string) Path that you want the api client to hit

options - [optional] (RequestInit) that will be passed to the node-fetch library. See the node-fetch library HERE

Current Tags

  • 2.1.1                                ...           latest (3 months ago)

7 Versions

  • 2.1.1                                ...           3 months ago
  • 2.1.0                                ...           4 months ago
  • 2.0.1                                ...           4 months ago
  • 2.0.0                                ...           4 months ago
  • 1.1.0                                ...           a year ago
  • 1.0.1                                ...           a year ago
  • 1.0.0                                ...           a year ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 7
Last Month 12
Dependencies (2)
Dev Dependencies (5)

Copyright 2014 - 2016 © taobao.org |