n8n-nodes-dns 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -1
- package/dist/src/nodes/DnsLookup/DnsLookup.node.d.ts +1 -4
- package/dist/src/nodes/DnsLookup/DnsLookup.node.js +44 -56
- package/dist/src/nodes/DnsLookup/DnsLookup.node.js.map +1 -1
- package/dist/src/nodes/DnsWatch/DnsWatch.node.d.ts +17 -0
- package/dist/src/nodes/DnsWatch/DnsWatch.node.js +62 -66
- package/dist/src/nodes/DnsWatch/DnsWatch.node.js.map +1 -1
- package/dist/src/nodes/shared/dns-node-helpers.d.ts +19 -1
- package/dist/src/nodes/shared/dns-node-helpers.js +18 -0
- package/dist/src/nodes/shared/dns-node-helpers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/package.json
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
2
|
import type { DnsServerResult } from '../../transport';
|
|
3
|
-
import type {
|
|
4
|
-
import { buildClientOptions, buildSingleServerOutput, extractCustomServers, formatServerResult, serializeAnswerValues } from '../shared/dns-node-helpers';
|
|
5
|
-
export type { FormattedRecord, ServerResultEntry };
|
|
6
|
-
export { buildClientOptions, buildSingleServerOutput, extractCustomServers, formatServerResult, serializeAnswerValues, };
|
|
3
|
+
import type { ServerResultEntry } from '../shared/dns-node-helpers';
|
|
7
4
|
export declare function computeConsistencyFlags(entries: ServerResultEntry[]): {
|
|
8
5
|
consistent: boolean;
|
|
9
6
|
propagatedToAll: boolean;
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DnsLookup =
|
|
3
|
+
exports.DnsLookup = void 0;
|
|
4
4
|
exports.computeConsistencyFlags = computeConsistencyFlags;
|
|
5
5
|
exports.buildMultiServerOutput = buildMultiServerOutput;
|
|
6
6
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
7
7
|
const transport_1 = require("../../transport");
|
|
8
8
|
const dns_node_helpers_1 = require("../shared/dns-node-helpers");
|
|
9
|
-
Object.defineProperty(exports, "buildClientOptions", { enumerable: true, get: function () { return dns_node_helpers_1.buildClientOptions; } });
|
|
10
|
-
Object.defineProperty(exports, "buildSingleServerOutput", { enumerable: true, get: function () { return dns_node_helpers_1.buildSingleServerOutput; } });
|
|
11
|
-
Object.defineProperty(exports, "extractCustomServers", { enumerable: true, get: function () { return dns_node_helpers_1.extractCustomServers; } });
|
|
12
|
-
Object.defineProperty(exports, "formatServerResult", { enumerable: true, get: function () { return dns_node_helpers_1.formatServerResult; } });
|
|
13
|
-
Object.defineProperty(exports, "serializeAnswerValues", { enumerable: true, get: function () { return dns_node_helpers_1.serializeAnswerValues; } });
|
|
14
9
|
const dns_node_properties_1 = require("../shared/dns-node-properties");
|
|
15
10
|
function computeConsistencyFlags(entries) {
|
|
16
11
|
const answerSets = entries.map((entry) => (0, dns_node_helpers_1.serializeAnswerValues)(entry.answers));
|
|
@@ -41,6 +36,39 @@ function buildMultiServerOutput(domain, recordType, results, consistencyCheck) {
|
|
|
41
36
|
}
|
|
42
37
|
return output;
|
|
43
38
|
}
|
|
39
|
+
async function executeSingleServerQuery(params, context) {
|
|
40
|
+
const { domain, recordType, clientOptions } = params;
|
|
41
|
+
const server = params.servers[0];
|
|
42
|
+
const result = await (0, transport_1.querySingleServer)(domain, recordType, server, clientOptions);
|
|
43
|
+
(0, dns_node_helpers_1.assertNotFormerr)(result, domain, context.node, context.itemIndex);
|
|
44
|
+
if ((0, dns_node_helpers_1.isWarnableResponseCode)(result.responseCode)) {
|
|
45
|
+
context.addHint({
|
|
46
|
+
message: (0, dns_node_helpers_1.buildWarningMessage)(domain, result.server.address, result.responseCode),
|
|
47
|
+
type: 'warning',
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return (0, dns_node_helpers_1.buildSingleServerOutput)(domain, recordType, result);
|
|
51
|
+
}
|
|
52
|
+
async function executeMultiServerQuery(params, context) {
|
|
53
|
+
const { domain, recordType, servers, clientOptions } = params;
|
|
54
|
+
const queryResult = await (0, transport_1.queryMultipleServers)(domain, recordType, servers, clientOptions);
|
|
55
|
+
for (const result of queryResult.results) {
|
|
56
|
+
(0, dns_node_helpers_1.assertNotFormerr)(result, domain, context.node, context.itemIndex);
|
|
57
|
+
}
|
|
58
|
+
for (const warning of (0, dns_node_helpers_1.collectResponseWarnings)(queryResult.results, domain)) {
|
|
59
|
+
context.addHint({ message: warning, type: 'warning' });
|
|
60
|
+
}
|
|
61
|
+
const consistencyCheck = params.options.outputConsistencyCheck !== false;
|
|
62
|
+
return buildMultiServerOutput(domain, recordType, queryResult.results, consistencyCheck);
|
|
63
|
+
}
|
|
64
|
+
async function processLookupItem(params, context) {
|
|
65
|
+
if (params.servers.length === 0) {
|
|
66
|
+
throw new n8n_workflow_1.NodeOperationError(context.node, `No DNS servers resolved for mode "${params.resolverMode}"`, { itemIndex: context.itemIndex });
|
|
67
|
+
}
|
|
68
|
+
return params.servers.length === 1
|
|
69
|
+
? executeSingleServerQuery(params, context)
|
|
70
|
+
: executeMultiServerQuery(params, context);
|
|
71
|
+
}
|
|
44
72
|
class DnsLookup {
|
|
45
73
|
constructor() {
|
|
46
74
|
this.description = {
|
|
@@ -152,55 +180,16 @@ class DnsLookup {
|
|
|
152
180
|
const returnData = [];
|
|
153
181
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
154
182
|
try {
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
const resolverMode = this.getNodeParameter('resolverMode', itemIndex);
|
|
158
|
-
const options = this.getNodeParameter('options', itemIndex, {});
|
|
159
|
-
const clientOptions = (0, dns_node_helpers_1.buildClientOptions)(options);
|
|
160
|
-
const wellKnownNames = resolverMode === 'wellKnown'
|
|
161
|
-
? this.getNodeParameter('resolvers', itemIndex)
|
|
162
|
-
: [];
|
|
163
|
-
const customServers = resolverMode === 'custom'
|
|
164
|
-
? (0, dns_node_helpers_1.extractCustomServers)(this.getNodeParameter('customServers', itemIndex, {}))
|
|
165
|
-
: [];
|
|
166
|
-
const servers = await (0, dns_node_helpers_1.resolveTargetDnsServers)({
|
|
167
|
-
mode: resolverMode,
|
|
168
|
-
wellKnownNames,
|
|
169
|
-
customServers,
|
|
170
|
-
domain,
|
|
171
|
-
clientOptions,
|
|
172
|
-
});
|
|
173
|
-
if (servers.length === 0) {
|
|
174
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `No DNS servers resolved for mode "${resolverMode}"`, { itemIndex });
|
|
175
|
-
}
|
|
176
|
-
const isSingleServer = servers.length === 1;
|
|
177
|
-
let outputJson;
|
|
178
|
-
if (isSingleServer) {
|
|
179
|
-
const result = await (0, transport_1.querySingleServer)(domain, recordType, servers[0], clientOptions);
|
|
180
|
-
(0, dns_node_helpers_1.assertNotFormerr)(result, domain, this.getNode(), itemIndex);
|
|
181
|
-
if ((0, dns_node_helpers_1.isWarnableResponseCode)(result.responseCode)) {
|
|
182
|
-
this.addExecutionHints({
|
|
183
|
-
message: (0, dns_node_helpers_1.buildWarningMessage)(domain, result.server.address, result.responseCode),
|
|
184
|
-
type: 'warning',
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
outputJson = (0, dns_node_helpers_1.buildSingleServerOutput)(domain, recordType, result);
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
const queryResult = await (0, transport_1.queryMultipleServers)(domain, recordType, servers, clientOptions);
|
|
191
|
-
for (const result of queryResult.results) {
|
|
192
|
-
(0, dns_node_helpers_1.assertNotFormerr)(result, domain, this.getNode(), itemIndex);
|
|
193
|
-
}
|
|
194
|
-
const warnings = (0, dns_node_helpers_1.collectResponseWarnings)(queryResult.results, domain);
|
|
195
|
-
for (const warning of warnings) {
|
|
196
|
-
this.addExecutionHints({ message: warning, type: 'warning' });
|
|
197
|
-
}
|
|
198
|
-
const consistencyCheck = options.outputConsistencyCheck !== false;
|
|
199
|
-
outputJson = buildMultiServerOutput(domain, recordType, queryResult.results, consistencyCheck);
|
|
200
|
-
}
|
|
201
|
-
const wrappedItems = this.helpers.constructExecutionMetaData([{ json: outputJson }], {
|
|
202
|
-
itemData: { item: itemIndex },
|
|
183
|
+
const params = await (0, dns_node_helpers_1.extractDnsQueryParams)({
|
|
184
|
+
getParam: (name, fallback) => this.getNodeParameter(name, itemIndex, fallback),
|
|
203
185
|
});
|
|
186
|
+
const context = {
|
|
187
|
+
node: this.getNode(),
|
|
188
|
+
itemIndex,
|
|
189
|
+
addHint: (hint) => this.addExecutionHints(hint),
|
|
190
|
+
};
|
|
191
|
+
const outputJson = await processLookupItem(params, context);
|
|
192
|
+
const wrappedItems = this.helpers.constructExecutionMetaData([{ json: outputJson }], { itemData: { item: itemIndex } });
|
|
204
193
|
returnData.push(...wrappedItems);
|
|
205
194
|
}
|
|
206
195
|
catch (error) {
|
|
@@ -209,9 +198,8 @@ class DnsLookup {
|
|
|
209
198
|
returnData.push(...errorItems);
|
|
210
199
|
continue;
|
|
211
200
|
}
|
|
212
|
-
if (error instanceof n8n_workflow_1.NodeOperationError)
|
|
201
|
+
if (error instanceof n8n_workflow_1.NodeOperationError)
|
|
213
202
|
throw error;
|
|
214
|
-
}
|
|
215
203
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, { itemIndex });
|
|
216
204
|
}
|
|
217
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnsLookup.node.js","sourceRoot":"","sources":["../../../../src/nodes/DnsLookup/DnsLookup.node.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DnsLookup.node.js","sourceRoot":"","sources":["../../../../src/nodes/DnsLookup/DnsLookup.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { INodeType, INodeTypeDescription, IPollFunctions, INodeExecutionData } from 'n8n-workflow';
|
|
2
|
+
import type { DnsServerResult } from '../../transport';
|
|
2
3
|
import type { FormattedRecord } from '../shared/dns-node-helpers';
|
|
4
|
+
interface WatchStaticData {
|
|
5
|
+
previousAnswerHash?: string;
|
|
6
|
+
previousHadRecords?: boolean;
|
|
7
|
+
}
|
|
3
8
|
export declare function answersContainValue(answers: FormattedRecord[], expectedValue: string): boolean;
|
|
4
9
|
export declare function checkFireCondition(mode: string, context: {
|
|
5
10
|
currentHash: string;
|
|
@@ -9,7 +14,19 @@ export declare function checkFireCondition(mode: string, context: {
|
|
|
9
14
|
currentAnswers: FormattedRecord[];
|
|
10
15
|
expectedValue: string;
|
|
11
16
|
}): boolean;
|
|
17
|
+
export interface PollFireConditionContext {
|
|
18
|
+
currentHash: string;
|
|
19
|
+
currentHasRecords: boolean;
|
|
20
|
+
currentAnswers: FormattedRecord[];
|
|
21
|
+
staticData: WatchStaticData;
|
|
22
|
+
fireOn: string;
|
|
23
|
+
expectedValue: string;
|
|
24
|
+
isManualTest: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function evaluatePollFireCondition(context: PollFireConditionContext): boolean;
|
|
27
|
+
export declare function shouldTriggerFire(result: DnsServerResult, staticData: WatchStaticData, fireOn: string, expectedValue: string, isManualTest: boolean): boolean;
|
|
12
28
|
export declare class DnsWatch implements INodeType {
|
|
13
29
|
description: INodeTypeDescription;
|
|
14
30
|
poll(this: IPollFunctions): Promise<INodeExecutionData[][] | null>;
|
|
15
31
|
}
|
|
32
|
+
export {};
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DnsWatch = void 0;
|
|
4
4
|
exports.answersContainValue = answersContainValue;
|
|
5
5
|
exports.checkFireCondition = checkFireCondition;
|
|
6
|
+
exports.evaluatePollFireCondition = evaluatePollFireCondition;
|
|
7
|
+
exports.shouldTriggerFire = shouldTriggerFire;
|
|
6
8
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
7
9
|
const transport_1 = require("../../transport");
|
|
8
10
|
const dns_node_helpers_1 = require("../shared/dns-node-helpers");
|
|
@@ -30,6 +32,54 @@ function checkFireCondition(mode, context) {
|
|
|
30
32
|
}
|
|
31
33
|
return checker(context);
|
|
32
34
|
}
|
|
35
|
+
async function executePollQuery(params, node) {
|
|
36
|
+
const { domain, recordType, clientOptions } = params;
|
|
37
|
+
const server = params.servers[0];
|
|
38
|
+
let result;
|
|
39
|
+
try {
|
|
40
|
+
result = await (0, transport_1.querySingleServer)(domain, recordType, server, clientOptions);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
throw new n8n_workflow_1.NodeOperationError(node, `DNS query failed: ${error.message}`);
|
|
44
|
+
}
|
|
45
|
+
(0, dns_node_helpers_1.assertNotFormerr)(result, domain, node);
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
function evaluatePollFireCondition(context) {
|
|
49
|
+
var _a;
|
|
50
|
+
const { currentHash, currentHasRecords, staticData, isManualTest } = context;
|
|
51
|
+
if (staticData.previousAnswerHash === undefined) {
|
|
52
|
+
staticData.previousAnswerHash = currentHash;
|
|
53
|
+
staticData.previousHadRecords = currentHasRecords;
|
|
54
|
+
return isManualTest;
|
|
55
|
+
}
|
|
56
|
+
if (isManualTest)
|
|
57
|
+
return true;
|
|
58
|
+
const shouldFire = checkFireCondition(context.fireOn, {
|
|
59
|
+
currentHash,
|
|
60
|
+
previousHash: staticData.previousAnswerHash,
|
|
61
|
+
currentHasRecords,
|
|
62
|
+
previousHadRecords: (_a = staticData.previousHadRecords) !== null && _a !== void 0 ? _a : false,
|
|
63
|
+
currentAnswers: context.currentAnswers,
|
|
64
|
+
expectedValue: context.expectedValue,
|
|
65
|
+
});
|
|
66
|
+
staticData.previousAnswerHash = currentHash;
|
|
67
|
+
staticData.previousHadRecords = currentHasRecords;
|
|
68
|
+
return shouldFire;
|
|
69
|
+
}
|
|
70
|
+
function shouldTriggerFire(result, staticData, fireOn, expectedValue, isManualTest) {
|
|
71
|
+
const formatted = (0, dns_node_helpers_1.formatServerResult)(result);
|
|
72
|
+
const currentAnswers = formatted.answers;
|
|
73
|
+
return evaluatePollFireCondition({
|
|
74
|
+
currentHash: (0, dns_node_helpers_1.serializeAnswerValues)(currentAnswers),
|
|
75
|
+
currentHasRecords: currentAnswers.length > 0,
|
|
76
|
+
currentAnswers,
|
|
77
|
+
staticData,
|
|
78
|
+
fireOn,
|
|
79
|
+
expectedValue,
|
|
80
|
+
isManualTest,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
33
83
|
class DnsWatch {
|
|
34
84
|
constructor() {
|
|
35
85
|
this.description = {
|
|
@@ -171,75 +221,21 @@ class DnsWatch {
|
|
|
171
221
|
};
|
|
172
222
|
}
|
|
173
223
|
async poll() {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const options = this.getNodeParameter('options', {});
|
|
180
|
-
const clientOptions = (0, dns_node_helpers_1.buildClientOptions)(options);
|
|
181
|
-
const wellKnownNames = resolverMode === 'wellKnown' ? this.getNodeParameter('resolvers') : [];
|
|
182
|
-
const customServers = resolverMode === 'custom'
|
|
183
|
-
? (0, dns_node_helpers_1.extractCustomServers)(this.getNodeParameter('customServers', {}))
|
|
184
|
-
: [];
|
|
185
|
-
let servers;
|
|
186
|
-
try {
|
|
187
|
-
servers = await (0, dns_node_helpers_1.resolveTargetDnsServers)({
|
|
188
|
-
mode: resolverMode,
|
|
189
|
-
wellKnownNames,
|
|
190
|
-
customServers,
|
|
191
|
-
domain,
|
|
192
|
-
clientOptions,
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
catch (error) {
|
|
196
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message);
|
|
197
|
-
}
|
|
198
|
-
if (servers.length === 0) {
|
|
199
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `No DNS servers resolved for mode "${resolverMode}"`);
|
|
200
|
-
}
|
|
201
|
-
const server = servers[0];
|
|
202
|
-
let result;
|
|
203
|
-
try {
|
|
204
|
-
result = await (0, transport_1.querySingleServer)(domain, recordType, server, clientOptions);
|
|
224
|
+
const params = await (0, dns_node_helpers_1.extractDnsQueryParams)({
|
|
225
|
+
getParam: (name, fallback) => this.getNodeParameter(name, fallback),
|
|
226
|
+
});
|
|
227
|
+
if (params.servers.length === 0) {
|
|
228
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `No DNS servers resolved for mode "${params.resolverMode}"`);
|
|
205
229
|
}
|
|
206
|
-
|
|
207
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `DNS query failed: ${error.message}`);
|
|
208
|
-
}
|
|
209
|
-
(0, dns_node_helpers_1.assertNotFormerr)(result, domain, this.getNode());
|
|
230
|
+
const result = await executePollQuery(params, this.getNode());
|
|
210
231
|
if ((0, dns_node_helpers_1.isWarnableResponseCode)(result.responseCode)) {
|
|
211
|
-
this.logger.warn((0, dns_node_helpers_1.buildWarningMessage)(domain, result.server.address, result.responseCode));
|
|
212
|
-
}
|
|
213
|
-
const formatted = (0, dns_node_helpers_1.formatServerResult)(result);
|
|
214
|
-
const currentAnswers = formatted.answers;
|
|
215
|
-
const currentHash = (0, dns_node_helpers_1.serializeAnswerValues)(currentAnswers);
|
|
216
|
-
const currentHasRecords = currentAnswers.length > 0;
|
|
217
|
-
const isManualTest = this.getMode() === 'manual';
|
|
218
|
-
const staticData = this.getWorkflowStaticData('node');
|
|
219
|
-
if (staticData.previousAnswerHash === undefined) {
|
|
220
|
-
staticData.previousAnswerHash = currentHash;
|
|
221
|
-
staticData.previousHadRecords = currentHasRecords;
|
|
222
|
-
if (!isManualTest) {
|
|
223
|
-
return null;
|
|
224
|
-
}
|
|
232
|
+
this.logger.warn((0, dns_node_helpers_1.buildWarningMessage)(params.domain, result.server.address, result.responseCode));
|
|
225
233
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
currentHasRecords,
|
|
232
|
-
previousHadRecords: (_a = staticData.previousHadRecords) !== null && _a !== void 0 ? _a : false,
|
|
233
|
-
currentAnswers,
|
|
234
|
-
expectedValue,
|
|
235
|
-
});
|
|
236
|
-
staticData.previousAnswerHash = currentHash;
|
|
237
|
-
staticData.previousHadRecords = currentHasRecords;
|
|
238
|
-
if (!shouldFire) {
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
const outputJson = (0, dns_node_helpers_1.buildSingleServerOutput)(domain, recordType, result);
|
|
234
|
+
const fireOn = this.getNodeParameter('fireOn');
|
|
235
|
+
const fired = shouldTriggerFire(result, this.getWorkflowStaticData('node'), fireOn, fireOn === 'valueMatches' ? this.getNodeParameter('expectedValue') : '', this.getMode() === 'manual');
|
|
236
|
+
if (!fired)
|
|
237
|
+
return null;
|
|
238
|
+
const outputJson = (0, dns_node_helpers_1.buildSingleServerOutput)(params.domain, params.recordType, result);
|
|
243
239
|
return [[{ json: outputJson, pairedItem: { item: 0 } }]];
|
|
244
240
|
}
|
|
245
241
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnsWatch.node.js","sourceRoot":"","sources":["../../../../src/nodes/DnsWatch/DnsWatch.node.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DnsWatch.node.js","sourceRoot":"","sources":["../../../../src/nodes/DnsWatch/DnsWatch.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { INode } from 'n8n-workflow';
|
|
2
|
-
import type { DnsClientOptions, DnsServer, DnsServerResult } from '../../transport';
|
|
2
|
+
import type { DnsClientOptions, DnsRecordType, DnsServer, DnsServerResult } from '../../transport';
|
|
3
3
|
import type { RecordValue } from '../../utils';
|
|
4
4
|
export declare const AUTHORITATIVE_RECURSIVE_RESOLVER: DnsServer;
|
|
5
5
|
export interface FormattedRecord {
|
|
@@ -41,3 +41,21 @@ export declare function isFatalResponseCode(code: string): boolean;
|
|
|
41
41
|
export declare function buildWarningMessage(domain: string, serverAddress: string, responseCode: string): string;
|
|
42
42
|
export declare function assertNotFormerr(result: DnsServerResult, domain: string, node: INode, itemIndex?: number): void;
|
|
43
43
|
export declare function collectResponseWarnings(results: DnsServerResult[], domain: string): string[];
|
|
44
|
+
export interface DnsParameterReader {
|
|
45
|
+
getParam(name: string, fallback?: unknown): unknown;
|
|
46
|
+
}
|
|
47
|
+
export interface DnsNodeOptions {
|
|
48
|
+
timeout?: number;
|
|
49
|
+
retryCount?: number;
|
|
50
|
+
recursionDesired?: boolean;
|
|
51
|
+
outputConsistencyCheck?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface DnsQueryParams {
|
|
54
|
+
domain: string;
|
|
55
|
+
recordType: DnsRecordType;
|
|
56
|
+
resolverMode: string;
|
|
57
|
+
options: DnsNodeOptions;
|
|
58
|
+
clientOptions: DnsClientOptions;
|
|
59
|
+
servers: DnsServer[];
|
|
60
|
+
}
|
|
61
|
+
export declare function extractDnsQueryParams(reader: DnsParameterReader): Promise<DnsQueryParams>;
|
|
@@ -12,6 +12,7 @@ exports.isFatalResponseCode = isFatalResponseCode;
|
|
|
12
12
|
exports.buildWarningMessage = buildWarningMessage;
|
|
13
13
|
exports.assertNotFormerr = assertNotFormerr;
|
|
14
14
|
exports.collectResponseWarnings = collectResponseWarnings;
|
|
15
|
+
exports.extractDnsQueryParams = extractDnsQueryParams;
|
|
15
16
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
16
17
|
const transport_1 = require("../../transport");
|
|
17
18
|
const utils_1 = require("../../utils");
|
|
@@ -130,4 +131,21 @@ function collectResponseWarnings(results, domain) {
|
|
|
130
131
|
.filter((result) => isWarnableResponseCode(result.responseCode))
|
|
131
132
|
.map((result) => buildWarningMessage(domain, result.server.address, result.responseCode));
|
|
132
133
|
}
|
|
134
|
+
async function extractDnsQueryParams(reader) {
|
|
135
|
+
const domain = reader.getParam('domain');
|
|
136
|
+
const recordType = reader.getParam('recordType');
|
|
137
|
+
const resolverMode = reader.getParam('resolverMode');
|
|
138
|
+
const options = reader.getParam('options', {});
|
|
139
|
+
const clientOptions = buildClientOptions(options);
|
|
140
|
+
const wellKnownNames = resolverMode === 'wellKnown' ? reader.getParam('resolvers') : [];
|
|
141
|
+
const customServers = resolverMode === 'custom' ? extractCustomServers(reader.getParam('customServers', {})) : [];
|
|
142
|
+
const servers = await resolveTargetDnsServers({
|
|
143
|
+
mode: resolverMode,
|
|
144
|
+
wellKnownNames,
|
|
145
|
+
customServers,
|
|
146
|
+
domain,
|
|
147
|
+
clientOptions,
|
|
148
|
+
});
|
|
149
|
+
return { domain, recordType, resolverMode, options, clientOptions, servers };
|
|
150
|
+
}
|
|
133
151
|
//# sourceMappingURL=dns-node-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns-node-helpers.js","sourceRoot":"","sources":["../../../../src/nodes/shared/dns-node-helpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dns-node-helpers.js","sourceRoot":"","sources":["../../../../src/nodes/shared/dns-node-helpers.ts"],"names":[],"mappings":"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"}
|