@gemeentenijmegen/apiclient
TypeScript icon, indicating that this package has built-in type declarations

0.0.13 • Public • Published

Gemeente Nijmegen Api Client

An HTTP Api Client module. Used for applications requiring mutual TLS, backed by config in AWS.

How to use

Quickstart:

Install using npm:

npm i @gemeentenijmegen/apiclient

The client expects either the following environment parameters to be set, or to be provided a client certificate, private key and root ca:

  MTLS_PRIVATE_KEY_ARN // AWS Arn to the secrets manager ARN holding the private key
  MTLS_CLIENT_CERT_NAME // The name of an SSM parameter holding the client certificate 
  MTLS_ROOT_CA_NAME // The name of an SSM parameter holding the root ca

Example use:

// create a client
const apiClient = new ApiClient();
// init (get parameters from store etc.)
await apiClient.init();
// Use the client to perform a POST request and get responses.
const data = await apiClient.postData('/test', { data: 'test ' },  {'Content-type': 'application/json'});

// Use the client to perform a GET request and get data.
const data = await apiClient.getData('/test',  {'Content-type': 'application/json'});

The request can throw an error, the actual message is logged, a generic Error is thrown.

Readme

Keywords

none

Package Sidebar

Install

npm i @gemeentenijmegen/apiclient

Weekly Downloads

188

Version

0.0.13

License

EUPL-1.2

Unpacked Size

43.3 kB

Total Files

7

Last publish

Collaborators

  • wkremer
  • marnixdessing
  • bramwithaar
  • martijnvdijk
  • jvanderborg