feat(tracker-axios): 3.4.2: check if error is axios response & webpack 5 fully specified
This commit is contained in:
parent
343bb1792d
commit
354f091aae
3 changed files with 25 additions and 13 deletions
12
tracker/tracker-axios/package-lock.json
generated
12
tracker/tracker-axios/package-lock.json
generated
|
|
@ -57,9 +57,9 @@
|
|||
}
|
||||
},
|
||||
"@openreplay/tracker": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@openreplay/tracker/-/tracker-3.0.3.tgz",
|
||||
"integrity": "sha512-50C2cwJFENeHNjXVV90uIA5YE1bxfGbhI8e76Nfw9Pg+GVN38DcvGhr3PJ3OKjioT9V4gXBbvtE/RDGRaJJWLA==",
|
||||
"version": "3.4.9",
|
||||
"resolved": "https://registry.npmjs.org/@openreplay/tracker/-/tracker-3.4.9.tgz",
|
||||
"integrity": "sha512-7w1ddAboWu6NN926ySMUsKG6kmlYM0BYelSRIPM1xdoddLMRKZT4XaggLYjFezNSi9UJ9WYI8qwMHFIkS9lhCQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"error-stack-parser": "^2.0.6"
|
||||
|
|
@ -782,9 +782,9 @@
|
|||
}
|
||||
},
|
||||
"typescript": {
|
||||
"version": "3.9.9",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
|
||||
"integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
|
||||
"version": "4.6.0-dev.20211126",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.0-dev.20211126.tgz",
|
||||
"integrity": "sha512-m+LKstqVv6FYW363aIbO6bm8awsLbeSUCzU6FxPtzUF/WJkFieQfYmdVwEIzigeTpw4E2GETBXnk6P6AixcQJQ==",
|
||||
"dev": true
|
||||
},
|
||||
"validate-npm-package-license": {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "@openreplay/tracker-axios",
|
||||
"description": "Tracker plugin for axios requests recording",
|
||||
"version": "3.4.1",
|
||||
"version": "3.4.2",
|
||||
"keywords": [
|
||||
"axios",
|
||||
"logging",
|
||||
|
|
@ -20,14 +20,14 @@
|
|||
},
|
||||
"dependencies": {},
|
||||
"peerDependencies": {
|
||||
"@openreplay/tracker": "^3.0.0",
|
||||
"@openreplay/tracker": "^3.4.8",
|
||||
"axios": "^0.21.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@openreplay/tracker": "^3.0.0",
|
||||
"@openreplay/tracker": "^3.4.9",
|
||||
"axios": "^0.21.2",
|
||||
"prettier": "^1.18.2",
|
||||
"replace-in-files-cli": "^1.0.0",
|
||||
"typescript": "^3.6.4"
|
||||
"typescript": "^4.6.0-dev.20211126"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
|
||||
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
|
||||
import axios from 'axios';
|
||||
import { App, Messages } from '@openreplay/tracker';
|
||||
import { getExceptionMessage } from '@openreplay/tracker/lib/modules/exception'; // TODO: export from tracker root
|
||||
import { buildFullPath } from './url';
|
||||
import { getExceptionMessage } from '@openreplay/tracker/lib/modules/exception.js'; // TODO: export from tracker root
|
||||
import { buildFullPath } from './url.js';
|
||||
|
||||
export interface Options {
|
||||
sessionTokenHeader?: string;
|
||||
|
|
@ -12,6 +12,13 @@ export interface Options {
|
|||
ignoreHeaders: Array<string> | boolean;
|
||||
}
|
||||
|
||||
|
||||
function isAxiosResponse(r: any): r is AxiosResponse {
|
||||
return typeof r === "object" &&
|
||||
typeof r.config === "object" &&
|
||||
typeof r.status === "number"
|
||||
}
|
||||
|
||||
export default function(opts: Partial<Options> = {}) {
|
||||
const options: Options = Object.assign(
|
||||
{
|
||||
|
|
@ -145,6 +152,11 @@ export default function(opts: Partial<Options> = {}) {
|
|||
app.send(getExceptionMessage(error, []));
|
||||
}
|
||||
|
||||
// TODO: common case (selector)
|
||||
if (isAxiosResponse(error)) {
|
||||
sendFetchMessage(error)
|
||||
}
|
||||
|
||||
return Promise.reject(error);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue