UNPKG

n8n-nodes-dataforseo

Version:

DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.

44 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dataForSeoRequest = dataForSeoRequest; exports.dataForSeoPOSTGETRequest = dataForSeoPOSTGETRequest; const n8n_workflow_1 = require("n8n-workflow"); async function dataForSeoRequest(ef, options) { const baseUrl = 'https://api.dataforseo.com/v3'; const requestOptions = { method: options.method ? options.method : 'POST', headers: { 'Accept': 'application/json' }, body: options.body ? options.body : null, url: baseUrl + options.url, json: true, }; return await ef.helpers.httpRequestWithAuthentication.call(ef, 'dataForSeoApi', requestOptions); } async function dataForSeoPOSTGETRequest(ef, options, getPath) { let responseData = await dataForSeoRequest(ef, options); const taskStatus = responseData['tasks'][0]['status_code']; if (taskStatus !== 20100) { return responseData; } const taskId = responseData['tasks'][0]['id']; if (taskId) { const taskOptions = { method: 'GET', url: getPath + taskId, }; let responseReceived = false; let j = 0; let statusCode; while (j < 150 || !responseReceived) { (0, n8n_workflow_1.sleep)(200); responseData = await dataForSeoRequest(ef, taskOptions); statusCode = responseData['tasks'][0]['status_code']; responseReceived = statusCode != 40601 && statusCode != 40602 && statusCode != 20100; j++; } } return responseData; } //# sourceMappingURL=dataForSeoRequest.js.map