inter-scheme-proxy-cache-lib is a common component that provides proxy caching mapping.
It helps reliably integrate proxy functionality throughout the all involved services.
This repository uses the mojaloop/build CircleCI orb for standardized CI/CD workflows, including automated Grype vulnerability scanning for source code security.
npm install @mojaloop/inter-scheme-proxy-cache-lib// ESM
import { createProxyCache, STORAGE_TYPES } from '@mojaloop/inter-scheme-proxy-cache-lib';
// CJS
const { createProxyCache } = require('@mojaloop/inter-scheme-proxy-cache-lib');
// Redis Cluster
const proxyCacheCluster = createProxyCache(STORAGE_TYPES.redisCluster, {
cluster: [
{ host: 'localhost', port: 6379 },
{ host: 'localhost', port: 6380 },
{ host: 'localhost', port: 6381 },
],
// Optional: username, password, etc.
});
// Single Redis instance
const proxyCache = createProxyCache(STORAGE_TYPES.redis, {
host: 'localhost',
port: 6379,
// Optional: username, password, db, etc.
});
await proxyCache.connect();
// Basic DFSP to proxy mapping
await proxyCache.addDfspIdToProxyMapping('dfsp_1', 'proxyAB');
const proxyId = await proxyCache.lookupProxyByDfspId('dfsp_1');Check IProxyCache interface docs to get more details.
Comprehensive and interactive API documentation, based on TypeScript source code of the package, could be found here
The library supports the following storage types:
STORAGE_TYPES.redis- Single Redis instanceSTORAGE_TYPES.redisCluster- Redis cluster configurationSTORAGE_TYPES.mysql- MySQL storage (not implemented yet)
| Env Variable Name | Default Value | Description |
|---|---|---|
| PROXY_CACHE_LOG_LEVEL | warn |
The log level for the proxyCache |
| PROXY_CACHE_DEFAULT_TTL_SEC | 20 |
Default cache TTL for sendToProxiesList keys |
- Node.js >= 22.15.0
Command to transpile Typescript into JS:
npm run buildnpm testnpm run docs