@dynatrace/react-native-plugin
Version:
This plugin gives you the ability to use the Dynatrace Mobile agent in your react native application.
46 lines (45 loc) • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DynatraceWebRequestTiming = void 0;
const DynatraceBridge_1 = require("./DynatraceBridge");
const ConsoleLogger_1 = require("./logging/ConsoleLogger");
const StringUtils_1 = require("./util/StringUtils");
const logger = new ConsoleLogger_1.ConsoleLogger('DynatraceWebRequestTiming');
class DynatraceWebRequestTiming {
constructor(requestTag, url) {
this.requestTag = requestTag;
this.url = url;
}
startWebRequestTiming() {
if (!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(this.requestTag) &&
!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(this.url)) {
logger.debug(`startWebRequestTiming() - (${this.url}/${this.requestTag})`);
DynatraceBridge_1.DynatraceNative.startWebRequestTiming(this.requestTag, this.url);
}
else {
logger.debug(`startWebRequestTiming(): Web Request Timing could not be created! - (${this.url}/${this.requestTag})`);
}
}
stopWebRequestTiming(responseCode, responseMessage) {
this.stopWebRequestTimingWithSize(responseCode, responseMessage, -1, -1);
}
stopWebRequestTimingWithSize(responseCode, responseMessage, requestSize, responseSize) {
if (!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(this.requestTag) &&
!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(this.url) &&
responseCode != null &&
!StringUtils_1.StringUtils.isStringNullOrUndefined(responseMessage)) {
logger.debug(`stopWebRequestTiming(${responseCode}, ${responseMessage}, ${requestSize}, ${responseSize}) - (${this.url}/${this.requestTag})`);
DynatraceBridge_1.DynatraceNative.stopWebRequestTimingWithSize(this.requestTag, this.url, responseCode, responseMessage, requestSize, responseSize);
}
else {
logger.debug(`stopWebRequestTiming(${responseCode}, ${responseMessage}, ${requestSize}, ${responseSize}): Web Request Timing could not be stopped! - (${this.url}/${this.requestTag})`);
}
}
getRequestTag() {
return this.requestTag;
}
getRequestTagHeader() {
return 'x-dynatrace';
}
}
exports.DynatraceWebRequestTiming = DynatraceWebRequestTiming;