UNPKG

@camunda8/sdk

Version:

[![NPM](https://nodei.co/npm/@camunda8/sdk.png)](https://www.npmjs.com/package/@camunda8/sdk)

62 lines 2.49 kB
"use strict"; /** * Utilities for handling ZEEBE_GRPC_ADDRESS configuration and protocol-based TLS inference */ Object.defineProperty(exports, "__esModule", { value: true }); exports.parseZeebeGrpcAddress = parseZeebeGrpcAddress; exports.emitDeprecationWarnings = emitDeprecationWarnings; exports.emitConflictWarnings = emitConflictWarnings; /** * Parses and validates a ZEEBE_GRPC_ADDRESS value * @param address The ZEEBE_GRPC_ADDRESS value to parse * @returns Parsed address information * @throws Error if the address format is invalid */ function parseZeebeGrpcAddress(address) { if (!address.startsWith('grpc://') && !address.startsWith('grpcs://')) { throw new Error(`ZEEBE_GRPC_ADDRESS must contain either grpc:// or grpcs:// protocol. Got: ${address}`); } const isSecure = address.startsWith('grpcs://'); const protocol = isSecure ? 'grpcs' : 'grpc'; const hostPort = address.replace(/^grpcs?:\/\//, ''); return { fullAddress: address, hostPort, isSecure, protocol, }; } /** * Emits warnings for deprecated configuration values */ function emitDeprecationWarnings(config) { // Emit deprecation warnings for legacy TLS settings if (config.zeebeGrpcSettings.ZEEBE_INSECURE_CONNECTION !== undefined) { console.warn('⚠️ ZEEBE_INSECURE_CONNECTION is deprecated. Please use ZEEBE_GRPC_ADDRESS with grpc:// or grpcs:// protocol instead.'); } if (config.CAMUNDA_SECURE_CONNECTION !== undefined) { console.warn('⚠️ CAMUNDA_SECURE_CONNECTION is deprecated. Please use ZEEBE_GRPC_ADDRESS with grpc:// or grpcs:// protocol instead.'); } } /** * Emits warnings when ZEEBE_GRPC_ADDRESS conflicts with legacy settings */ function emitConflictWarnings(config) { if (!config.ZEEBE_GRPC_ADDRESS) { return; } const conflictingSettings = []; if (config.ZEEBE_ADDRESS) { conflictingSettings.push('ZEEBE_ADDRESS'); } if (config.CAMUNDA_SECURE_CONNECTION !== undefined) { conflictingSettings.push('CAMUNDA_SECURE_CONNECTION'); } if (config.zeebeGrpcSettings.ZEEBE_INSECURE_CONNECTION !== undefined) { conflictingSettings.push('ZEEBE_INSECURE_CONNECTION'); } if (conflictingSettings.length > 0) { console.warn(`⚠️ ZEEBE_GRPC_ADDRESS is set and takes precedence. The following settings will be ignored: ${conflictingSettings.join(', ')}`); } } //# sourceMappingURL=ZeebeGrpcAddressUtils.js.map