import ObservedApi from "../common/data/ObservedApi"; import ApiConfig from "../common/data/ApiConfig"; import ApiBufferKey from "../buffer/ApiBufferKey"; import HttpRequest from "./HttpRequest"; import HttpResponse from "./HttpResponse"; import AgentConfig from "../common/data/AgentConfig"; class RequestResponseContext { private readonly request: HttpRequest; private response: HttpResponse | undefined; private readonly applicationName: string; private observedApi: ObservedApi | undefined; private apiConfig: ApiConfig | undefined; private agentConfig: AgentConfig | undefined; private apiBufferKey: ApiBufferKey | undefined; private requestPayloadCaptureAttempted: boolean; private responsePayloadCaptureAttempted: boolean; private payloadCaptureAttempted: boolean; private latency: number; constructor(request: HttpRequest, applicationName: string) { this.request = request; this.applicationName = applicationName; this.requestPayloadCaptureAttempted = false; this.responsePayloadCaptureAttempted = false; this.payloadCaptureAttempted = false; this.latency = 0; } public getRequest(): HttpRequest { return this.request; } public getResponse(): HttpResponse | undefined { return this.response; } public setResponse(response: HttpResponse): void { this.response = response; } public getApplicationName(): string { return this.applicationName; } public getObservedApi(): ObservedApi { return this.observedApi; } public setObservedApi(observedApi: ObservedApi): void { this.observedApi = observedApi; } public getApiConfig(): ApiConfig { return this.apiConfig; } public setApiConfig(apiConfig: ApiConfig): void { this.apiConfig = apiConfig; } public getAgentConfig(): AgentConfig { return this.agentConfig; } public setAgentConfig(agentConfig: AgentConfig): void { this.agentConfig = agentConfig; } public getApiBufferKey(): ApiBufferKey { return this.apiBufferKey; } public setApiBufferKey(apiBufferKey: ApiBufferKey): void { this.apiBufferKey = apiBufferKey; } public isRequestPayloadCaptureAttempted(): boolean { return this.requestPayloadCaptureAttempted; } public setRequestPayloadCaptureAttempted( requestPayloadCaptureAttempted: boolean ): void { this.requestPayloadCaptureAttempted = requestPayloadCaptureAttempted; } public isResponsePayloadCaptureAttempted(): boolean { return this.responsePayloadCaptureAttempted; } public setResponsePayloadCaptureAttempted( responsePayloadCaptureAttempted: boolean ): void { this.responsePayloadCaptureAttempted = responsePayloadCaptureAttempted; } public isPayloadCaptureAttempted(): boolean { return this.payloadCaptureAttempted; } public setPayloadCaptureAttempted(payloadCaptureAttempted: boolean): void { this.payloadCaptureAttempted = payloadCaptureAttempted; } public getLatency(): number { return this.latency; } public setLatency(latency: number): void { this.latency = latency; } } export default RequestResponseContext;