@dynatrace/cordova-plugin
Version:
This plugin gives you the ability to use the Dynatrace instrumentation in your hybrid application (Cordova, Ionic, ..). It uses the Mobile Agent, the JavaScript Agent. The Mobile Agent will give you all device specific values containing lifecycle informat
84 lines (83 loc) • 4.43 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createHTTPOptions = exports.createJSAgentHTTPRequest = void 0;
var https_1 = require("https");
var axios_1 = require("axios");
var Logger_1 = require("../logger/Logger");
var createJSAgentHTTPRequest = function (configuration, finishMsg, errorMsg) { return __awaiter(void 0, void 0, void 0, function () {
var axiosInstance, errorMessage, httpResponse, error_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
axiosInstance = new axios_1.Axios({
httpsAgent: new https_1.Agent((0, exports.createHTTPOptions)(configuration)),
});
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
return [4, axiosInstance.get(configuration.getAgentUrl())];
case 2:
httpResponse = _a.sent();
if (httpResponse.status === 200) {
Logger_1.Logger.getInstance().logInfo(finishMsg);
return [2, httpResponse.data];
}
else {
errorMessage = errorMsg + httpResponse.statusText;
}
return [3, 4];
case 3:
error_1 = _a.sent();
if (error_1 instanceof Error) {
errorMessage = errorMsg + error_1.message;
}
return [3, 4];
case 4:
if (errorMessage != null) {
throw new Error(errorMessage);
}
return [2, ''];
}
});
}); };
exports.createJSAgentHTTPRequest = createJSAgentHTTPRequest;
var createHTTPOptions = function (configuration) {
return ({ rejectUnauthorized: !configuration.isAnyCertificateAllowed() });
};
exports.createHTTPOptions = createHTTPOptions;