UNPKG

@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
"use strict"; 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;