mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
feat(HTTP Request Node): Option to provide SSL Certificates in Http Request Node (#9125)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import type { SecureContextOptions } from 'tls';
|
||||
import type {
|
||||
IDataObject,
|
||||
INodeExecutionData,
|
||||
@@ -8,6 +9,8 @@ import type {
|
||||
import set from 'lodash/set';
|
||||
|
||||
import FormData from 'form-data';
|
||||
import type { HttpSslAuthCredentials } from './interfaces';
|
||||
import { formatPrivateKey } from '../../utils/utilities';
|
||||
|
||||
export type BodyParameter = {
|
||||
name: string;
|
||||
@@ -194,3 +197,18 @@ export const prepareRequestBody = async (
|
||||
return await reduceAsync(parameters, defaultReducer);
|
||||
}
|
||||
};
|
||||
|
||||
export const setAgentOptions = (
|
||||
requestOptions: IRequestOptions,
|
||||
sslCertificates: HttpSslAuthCredentials | undefined,
|
||||
) => {
|
||||
if (sslCertificates) {
|
||||
const agentOptions: SecureContextOptions = {};
|
||||
if (sslCertificates.ca) agentOptions.ca = formatPrivateKey(sslCertificates.ca);
|
||||
if (sslCertificates.cert) agentOptions.cert = formatPrivateKey(sslCertificates.cert);
|
||||
if (sslCertificates.key) agentOptions.key = formatPrivateKey(sslCertificates.key);
|
||||
if (sslCertificates.passphrase)
|
||||
agentOptions.passphrase = formatPrivateKey(sslCertificates.passphrase);
|
||||
requestOptions.agentOptions = agentOptions;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user