feat(tracker-axios): 3.4.3: check response for being actual AxiosResponse
This commit is contained in:
parent
4669060120
commit
1ca1774225
2 changed files with 8 additions and 4 deletions
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "@openreplay/tracker-axios",
|
||||
"description": "Tracker plugin for axios requests recording",
|
||||
"version": "3.4.2",
|
||||
"version": "3.4.3",
|
||||
"keywords": [
|
||||
"axios",
|
||||
"logging",
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ export interface Options {
|
|||
ignoreHeaders: Array<string> | boolean;
|
||||
}
|
||||
|
||||
// TODO: test webpack 5 for axios imports
|
||||
|
||||
function isAxiosResponse(r: any): r is AxiosResponse {
|
||||
return typeof r === "object" &&
|
||||
|
|
@ -40,6 +41,8 @@ export default function(opts: Partial<Options> = {}) {
|
|||
: () => ihOpt
|
||||
|
||||
const sendFetchMessage = (res: AxiosResponse) => {
|
||||
// ?? TODO: why config is undeined sometimes?
|
||||
if (!isAxiosResponse(res)) { return }
|
||||
// @ts-ignore
|
||||
const startTime: number = res.config.__openreplayStartTs;
|
||||
const duration = performance.now() - startTime;
|
||||
|
|
@ -107,9 +110,10 @@ export default function(opts: Partial<Options> = {}) {
|
|||
);
|
||||
}
|
||||
|
||||
// TODO: why app.safe doesn't work here?
|
||||
options.instance.interceptors.request.use(function (config) {
|
||||
if (options.sessionTokenHeader) {
|
||||
if (typeof config !== "object") { return config } // ??
|
||||
|
||||
if (options.sessionTokenHeader) {
|
||||
const sessionToken = app.getSessionToken();
|
||||
if (sessionToken) {
|
||||
if (config.headers === undefined) {
|
||||
|
|
@ -152,7 +156,7 @@ export default function(opts: Partial<Options> = {}) {
|
|||
app.send(getExceptionMessage(error, []));
|
||||
}
|
||||
|
||||
// TODO: common case (selector)
|
||||
// TODO: common case (selector option) for modified responses
|
||||
if (isAxiosResponse(error)) {
|
||||
sendFetchMessage(error)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue