Merge pull request #767 from HaveAGitGat/web_request

Add Log Response Body option
master
HaveAGitGat 10 months ago committed by GitHub
commit 33575babbe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -42,7 +42,7 @@ var fileUtils_1 = require("../../../../FlowHelpers/1.0.0/fileUtils");
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({ var details = function () { return ({
name: 'Delete File', name: 'Delete File',
description: 'Delete the working file or original file.', description: "\n Delete the working file or original file.\n You don't need to use this plugin to clean up files in the cache, Tdarr will do this automatically after the flow.\n To manually clear the cache, use the 'Clear Cache' flow plugin.\n ",
style: { style: {
borderColor: 'red', borderColor: 'red',
}, },

@ -103,6 +103,16 @@ var details = function () { return ({
}, },
tooltip: 'Specify request body', tooltip: 'Specify request body',
}, },
{
label: 'Log Response Body',
name: 'logResponseBody',
type: 'boolean',
defaultValue: 'false',
inputUI: {
type: 'switch',
},
tooltip: 'Specify whether to log response body in the job report',
},
], ],
outputs: [ outputs: [
{ {
@ -114,7 +124,7 @@ var details = function () { return ({
exports.details = details; exports.details = details;
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function () { var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function () {
var lib, method, requestUrl, requestHeaders, requestBody, requestConfig, res, err_1; var lib, method, requestUrl, requestHeaders, requestBody, logResponseBody, requestConfig, res, err_1;
return __generator(this, function (_a) { return __generator(this, function (_a) {
switch (_a.label) { switch (_a.label) {
case 0: case 0:
@ -125,6 +135,7 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
requestUrl = String(args.inputs.requestUrl); requestUrl = String(args.inputs.requestUrl);
requestHeaders = JSON.parse(String(args.inputs.requestHeaders)); requestHeaders = JSON.parse(String(args.inputs.requestHeaders));
requestBody = JSON.parse(String(args.inputs.requestBody)); requestBody = JSON.parse(String(args.inputs.requestBody));
logResponseBody = args.inputs.logResponseBody;
requestConfig = { requestConfig = {
method: method, method: method,
url: requestUrl, url: requestUrl,
@ -138,6 +149,9 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
case 2: case 2:
res = _a.sent(); res = _a.sent();
args.jobLog("Web request succeeded: Status Code: ".concat(res.status)); args.jobLog("Web request succeeded: Status Code: ".concat(res.status));
if (logResponseBody) {
args.jobLog("Response Body: ".concat(JSON.stringify(res.data)));
}
return [3 /*break*/, 4]; return [3 /*break*/, 4];
case 3: case 3:
err_1 = _a.sent(); err_1 = _a.sent();

@ -74,6 +74,16 @@ const details = (): IpluginDetails => ({
}, },
tooltip: 'Specify request body', tooltip: 'Specify request body',
}, },
{
label: 'Log Response Body',
name: 'logResponseBody',
type: 'boolean',
defaultValue: 'false',
inputUI: {
type: 'switch',
},
tooltip: 'Specify whether to log response body in the job report',
},
], ],
outputs: [ outputs: [
{ {
@ -93,6 +103,7 @@ const plugin = async (args: IpluginInputArgs): Promise<IpluginOutputArgs> => {
const requestUrl = String(args.inputs.requestUrl); const requestUrl = String(args.inputs.requestUrl);
const requestHeaders = JSON.parse(String(args.inputs.requestHeaders)); const requestHeaders = JSON.parse(String(args.inputs.requestHeaders));
const requestBody = JSON.parse(String(args.inputs.requestBody)); const requestBody = JSON.parse(String(args.inputs.requestBody));
const { logResponseBody } = args.inputs;
const requestConfig = { const requestConfig = {
method, method,
@ -104,6 +115,10 @@ const plugin = async (args: IpluginInputArgs): Promise<IpluginOutputArgs> => {
try { try {
const res = await args.deps.axios(requestConfig); const res = await args.deps.axios(requestConfig);
args.jobLog(`Web request succeeded: Status Code: ${res.status}`); args.jobLog(`Web request succeeded: Status Code: ${res.status}`);
if (logResponseBody) {
args.jobLog(`Response Body: ${JSON.stringify(res.data)}`);
}
} catch (err) { } catch (err) {
args.jobLog('Web Request Failed'); args.jobLog('Web Request Failed');
args.jobLog(JSON.stringify(err)); args.jobLog(JSON.stringify(err));

Loading…
Cancel
Save