@xylabs/axios 5.0.31 → 5.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/AxiosJson.d.ts +1 -1
- package/dist/neutral/AxiosJson.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +2 -5
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +6 -51
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/AxiosJson.ts +17 -17
- package/src/index.ts +3 -4
- package/dist/neutral/AxiosJsonUncompressed.d.ts +0 -13
- package/dist/neutral/AxiosJsonUncompressed.d.ts.map +0 -1
- package/src/AxiosJsonUncompressed.ts +0 -56
|
@@ -7,9 +7,9 @@ export type RawAxiosJsonRequestConfig<D = any> = RawAxiosRequestConfig<D> & {
|
|
|
7
7
|
export declare class AxiosJson extends Axios {
|
|
8
8
|
static defaultLogger?: Logger;
|
|
9
9
|
constructor(config?: RawAxiosJsonRequestConfig);
|
|
10
|
+
static axiosConfig({ compressLength, headers, ...config }?: RawAxiosJsonRequestConfig): RawAxiosJsonRequestConfig;
|
|
10
11
|
static create(config?: RawAxiosJsonRequestConfig): Axios;
|
|
11
12
|
static finalPath(response: AxiosResponse): any;
|
|
12
|
-
private static axiosConfig;
|
|
13
13
|
private static buildHeaders;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=AxiosJson.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxiosJson.d.ts","sourceRoot":"","sources":["../../src/AxiosJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAI3C,MAAM,MAAM,yBAAyB,CAAC,CAAC,GAAG,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvG,qBAAa,SAAU,SAAQ,KAAK;IAClC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEjB,MAAM,CAAC,EAAE,yBAAyB;IAI9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,yBAAyB;IAIhD,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAYxC,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"AxiosJson.d.ts","sourceRoot":"","sources":["../../src/AxiosJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAI3C,MAAM,MAAM,yBAAyB,CAAC,CAAC,GAAG,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvG,qBAAa,SAAU,SAAQ,KAAK;IAClC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEjB,MAAM,CAAC,EAAE,yBAAyB;IAI9C,MAAM,CAAC,WAAW,CAAC,EACjB,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,EACnC,GAAE,yBAA8B,GAAG,yBAAyB;IAsB7D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,yBAAyB;IAIhD,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAYxC,OAAO,CAAC,MAAM,CAAC,YAAY;CAO5B"}
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AxiosJsonUncompressed } from './AxiosJsonUncompressed.ts';
|
|
1
|
+
import { Axios } from 'axios';
|
|
3
2
|
export * from './AxiosJson.ts';
|
|
4
|
-
export * from './AxiosJsonUncompressed.ts';
|
|
5
3
|
export { gzip } from 'pako';
|
|
6
|
-
export declare const axios:
|
|
7
|
-
export declare const axiosUncompressed: AxiosJsonUncompressed;
|
|
4
|
+
export declare const axios: Axios;
|
|
8
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAI7B,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,eAAO,MAAM,KAAK,OAAqC,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// src/index.ts
|
|
2
|
+
import { Axios as Axios2 } from "axios";
|
|
3
|
+
|
|
1
4
|
// src/AxiosJson.ts
|
|
2
5
|
import { Axios, AxiosHeaders } from "axios";
|
|
3
6
|
import { gzip } from "pako";
|
|
@@ -6,18 +9,6 @@ var AxiosJson = class _AxiosJson extends Axios {
|
|
|
6
9
|
constructor(config) {
|
|
7
10
|
super(_AxiosJson.axiosConfig(config));
|
|
8
11
|
}
|
|
9
|
-
static create(config) {
|
|
10
|
-
return new Axios(this.axiosConfig(config));
|
|
11
|
-
}
|
|
12
|
-
static finalPath(response) {
|
|
13
|
-
if (response.request.path) {
|
|
14
|
-
return response.request.path.split("/").pop();
|
|
15
|
-
} else if (response.request.responseURL) {
|
|
16
|
-
return response.request.responseURL.split("/").pop();
|
|
17
|
-
} else {
|
|
18
|
-
this.defaultLogger?.warn("Failed to get final path from response");
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
12
|
static axiosConfig({
|
|
22
13
|
compressLength,
|
|
23
14
|
headers,
|
|
@@ -43,24 +34,8 @@ var AxiosJson = class _AxiosJson extends Axios {
|
|
|
43
34
|
...config
|
|
44
35
|
};
|
|
45
36
|
}
|
|
46
|
-
static buildHeaders(headers) {
|
|
47
|
-
const axiosHeaders = new AxiosHeaders();
|
|
48
|
-
axiosHeaders.set("Accept", "application/json, text/plain, *.*");
|
|
49
|
-
axiosHeaders.set("Content-Type", "application/json");
|
|
50
|
-
for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value);
|
|
51
|
-
return axiosHeaders;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
// src/AxiosJsonUncompressed.ts
|
|
56
|
-
import { Axios as Axios2, AxiosHeaders as AxiosHeaders2 } from "axios";
|
|
57
|
-
var AxiosJsonUncompressed = class _AxiosJsonUncompressed extends Axios2 {
|
|
58
|
-
static defaultLogger;
|
|
59
|
-
constructor(config) {
|
|
60
|
-
super(_AxiosJsonUncompressed.axiosConfig(config));
|
|
61
|
-
}
|
|
62
37
|
static create(config) {
|
|
63
|
-
return new this(config);
|
|
38
|
+
return new Axios(this.axiosConfig(config));
|
|
64
39
|
}
|
|
65
40
|
static finalPath(response) {
|
|
66
41
|
if (response.request.path) {
|
|
@@ -71,25 +46,8 @@ var AxiosJsonUncompressed = class _AxiosJsonUncompressed extends Axios2 {
|
|
|
71
46
|
this.defaultLogger?.warn("Failed to get final path from response");
|
|
72
47
|
}
|
|
73
48
|
}
|
|
74
|
-
static axiosConfig({ headers, ...config } = {}) {
|
|
75
|
-
return {
|
|
76
|
-
headers: this.buildHeaders(headers),
|
|
77
|
-
transformRequest: (data) => {
|
|
78
|
-
const json = JSON.stringify(data);
|
|
79
|
-
return JSON.stringify(json);
|
|
80
|
-
},
|
|
81
|
-
transformResponse: (data) => {
|
|
82
|
-
try {
|
|
83
|
-
return JSON.parse(data);
|
|
84
|
-
} catch {
|
|
85
|
-
return null;
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
...config
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
49
|
static buildHeaders(headers) {
|
|
92
|
-
const axiosHeaders = new
|
|
50
|
+
const axiosHeaders = new AxiosHeaders();
|
|
93
51
|
axiosHeaders.set("Accept", "application/json, text/plain, *.*");
|
|
94
52
|
axiosHeaders.set("Content-Type", "application/json");
|
|
95
53
|
for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value);
|
|
@@ -99,13 +57,10 @@ var AxiosJsonUncompressed = class _AxiosJsonUncompressed extends Axios2 {
|
|
|
99
57
|
|
|
100
58
|
// src/index.ts
|
|
101
59
|
import { gzip as gzip2 } from "pako";
|
|
102
|
-
var axios = new AxiosJson();
|
|
103
|
-
var axiosUncompressed = new AxiosJsonUncompressed();
|
|
60
|
+
var axios = new Axios2(AxiosJson.axiosConfig());
|
|
104
61
|
export {
|
|
105
62
|
AxiosJson,
|
|
106
|
-
AxiosJsonUncompressed,
|
|
107
63
|
axios,
|
|
108
|
-
axiosUncompressed,
|
|
109
64
|
gzip2 as gzip
|
|
110
65
|
};
|
|
111
66
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/AxiosJson.ts"],"sourcesContent":["import { Axios } from 'axios'\n\nimport { AxiosJson } from './AxiosJson.ts'\n\nexport * from './AxiosJson.ts'\nexport { gzip } from 'pako'\n\nexport const axios = new Axios(AxiosJson.axiosConfig())\n","import type { Logger } from '@xylabs/logger'\nimport type { AxiosResponse, RawAxiosRequestConfig } from 'axios'\nimport { Axios, AxiosHeaders } from 'axios'\nimport { gzip } from 'pako'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type RawAxiosJsonRequestConfig<D = any> = RawAxiosRequestConfig<D> & { compressLength?: number }\n\nexport class AxiosJson extends Axios {\n static defaultLogger?: Logger\n\n constructor(config?: RawAxiosJsonRequestConfig) {\n super(AxiosJson.axiosConfig(config))\n }\n\n static axiosConfig({\n compressLength, headers, ...config\n }: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return {\n headers: this.buildHeaders(headers),\n transformRequest: (data, headers) => {\n const json = JSON.stringify(data)\n if (headers !== undefined && data && json.length > (compressLength ?? 1024)) {\n headers.set('Content-Encoding', 'gzip')\n return gzip(json).buffer\n }\n return json\n },\n transformResponse: (data) => {\n try {\n return JSON.parse(data)\n } catch {\n return null\n }\n },\n ...config,\n }\n }\n\n static create(config?: RawAxiosJsonRequestConfig) {\n return new Axios(this.axiosConfig(config))\n }\n\n static finalPath(response: AxiosResponse) {\n if (response.request.path) {\n // nodejs\n return response.request.path.split('/').pop()\n } else if (response.request.responseURL) {\n // browser\n return response.request.responseURL.split('/').pop()\n } else {\n this.defaultLogger?.warn('Failed to get final path from response')\n }\n }\n\n private static buildHeaders(headers: RawAxiosJsonRequestConfig['headers']) {\n const axiosHeaders = new AxiosHeaders()\n axiosHeaders.set('Accept', 'application/json, text/plain, *.*')\n axiosHeaders.set('Content-Type', 'application/json')\n for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value)\n return axiosHeaders\n }\n}\n"],"mappings":";AAAA,SAAS,SAAAA,cAAa;;;ACEtB,SAAS,OAAO,oBAAoB;AACpC,SAAS,YAAY;AAKd,IAAM,YAAN,MAAM,mBAAkB,MAAM;AAAA,EACnC,OAAO;AAAA,EAEP,YAAY,QAAoC;AAC9C,UAAM,WAAU,YAAY,MAAM,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,YAAY;AAAA,IACjB;AAAA,IAAgB;AAAA,IAAS,GAAG;AAAA,EAC9B,IAA+B,CAAC,GAA8B;AAC5D,WAAO;AAAA,MACL,SAAS,KAAK,aAAa,OAAO;AAAA,MAClC,kBAAkB,CAAC,MAAMC,aAAY;AACnC,cAAM,OAAO,KAAK,UAAU,IAAI;AAChC,YAAIA,aAAY,UAAa,QAAQ,KAAK,UAAU,kBAAkB,OAAO;AAC3E,UAAAA,SAAQ,IAAI,oBAAoB,MAAM;AACtC,iBAAO,KAAK,IAAI,EAAE;AAAA,QACpB;AACA,eAAO;AAAA,MACT;AAAA,MACA,mBAAmB,CAAC,SAAS;AAC3B,YAAI;AACF,iBAAO,KAAK,MAAM,IAAI;AAAA,QACxB,QAAQ;AACN,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,OAAO,QAAoC;AAChD,WAAO,IAAI,MAAM,KAAK,YAAY,MAAM,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAU,UAAyB;AACxC,QAAI,SAAS,QAAQ,MAAM;AAEzB,aAAO,SAAS,QAAQ,KAAK,MAAM,GAAG,EAAE,IAAI;AAAA,IAC9C,WAAW,SAAS,QAAQ,aAAa;AAEvC,aAAO,SAAS,QAAQ,YAAY,MAAM,GAAG,EAAE,IAAI;AAAA,IACrD,OAAO;AACL,WAAK,eAAe,KAAK,wCAAwC;AAAA,IACnE;AAAA,EACF;AAAA,EAEA,OAAe,aAAa,SAA+C;AACzE,UAAM,eAAe,IAAI,aAAa;AACtC,iBAAa,IAAI,UAAU,mCAAmC;AAC9D,iBAAa,IAAI,gBAAgB,kBAAkB;AACnD,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAW,CAAC,CAAC,EAAG,cAAa,IAAI,KAAK,KAAK;AACrF,WAAO;AAAA,EACT;AACF;;;ADzDA,SAAS,QAAAC,aAAY;AAEd,IAAM,QAAQ,IAAIC,OAAM,UAAU,YAAY,CAAC;","names":["Axios","headers","gzip","Axios"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/axios",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.33",
|
|
4
4
|
"description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"axios",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"src"
|
|
43
43
|
],
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@xylabs/logger": "~5.0.
|
|
45
|
+
"@xylabs/logger": "~5.0.33",
|
|
46
46
|
"pako": "~2.1.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
package/src/AxiosJson.ts
CHANGED
|
@@ -13,23 +13,7 @@ export class AxiosJson extends Axios {
|
|
|
13
13
|
super(AxiosJson.axiosConfig(config))
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
static
|
|
17
|
-
return new Axios(this.axiosConfig(config))
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
static finalPath(response: AxiosResponse) {
|
|
21
|
-
if (response.request.path) {
|
|
22
|
-
// nodejs
|
|
23
|
-
return response.request.path.split('/').pop()
|
|
24
|
-
} else if (response.request.responseURL) {
|
|
25
|
-
// browser
|
|
26
|
-
return response.request.responseURL.split('/').pop()
|
|
27
|
-
} else {
|
|
28
|
-
this.defaultLogger?.warn('Failed to get final path from response')
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
private static axiosConfig({
|
|
16
|
+
static axiosConfig({
|
|
33
17
|
compressLength, headers, ...config
|
|
34
18
|
}: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {
|
|
35
19
|
return {
|
|
@@ -53,6 +37,22 @@ export class AxiosJson extends Axios {
|
|
|
53
37
|
}
|
|
54
38
|
}
|
|
55
39
|
|
|
40
|
+
static create(config?: RawAxiosJsonRequestConfig) {
|
|
41
|
+
return new Axios(this.axiosConfig(config))
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static finalPath(response: AxiosResponse) {
|
|
45
|
+
if (response.request.path) {
|
|
46
|
+
// nodejs
|
|
47
|
+
return response.request.path.split('/').pop()
|
|
48
|
+
} else if (response.request.responseURL) {
|
|
49
|
+
// browser
|
|
50
|
+
return response.request.responseURL.split('/').pop()
|
|
51
|
+
} else {
|
|
52
|
+
this.defaultLogger?.warn('Failed to get final path from response')
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
56
|
private static buildHeaders(headers: RawAxiosJsonRequestConfig['headers']) {
|
|
57
57
|
const axiosHeaders = new AxiosHeaders()
|
|
58
58
|
axiosHeaders.set('Accept', 'application/json, text/plain, *.*')
|
package/src/index.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import { Axios } from 'axios'
|
|
2
|
+
|
|
1
3
|
import { AxiosJson } from './AxiosJson.ts'
|
|
2
|
-
import { AxiosJsonUncompressed } from './AxiosJsonUncompressed.ts'
|
|
3
4
|
|
|
4
5
|
export * from './AxiosJson.ts'
|
|
5
|
-
export * from './AxiosJsonUncompressed.ts'
|
|
6
6
|
export { gzip } from 'pako'
|
|
7
7
|
|
|
8
|
-
export const axios = new AxiosJson()
|
|
9
|
-
export const axiosUncompressed = new AxiosJsonUncompressed()
|
|
8
|
+
export const axios = new Axios(AxiosJson.axiosConfig())
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Logger } from '@xylabs/logger';
|
|
2
|
-
import type { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
3
|
-
import { Axios } from 'axios';
|
|
4
|
-
export type AxiosJsonRequestUncompressedConfig<D = any> = AxiosRequestConfig<D>;
|
|
5
|
-
export declare class AxiosJsonUncompressed extends Axios {
|
|
6
|
-
static defaultLogger?: Logger;
|
|
7
|
-
constructor(config?: AxiosJsonRequestUncompressedConfig);
|
|
8
|
-
static create(config?: AxiosJsonRequestUncompressedConfig): Axios;
|
|
9
|
-
static finalPath(response: AxiosResponse): any;
|
|
10
|
-
private static axiosConfig;
|
|
11
|
-
private static buildHeaders;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=AxiosJsonUncompressed.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AxiosJsonUncompressed.d.ts","sourceRoot":"","sources":["../../src/AxiosJsonUncompressed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAG3C,MAAM,MAAM,kCAAkC,CAAC,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAA;AAE/E,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEjB,MAAM,CAAC,EAAE,kCAAkC;IAIvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,kCAAkC,GAC5B,KAAK;IAGlC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAYxC,OAAO,CAAC,MAAM,CAAC,WAAW;IAkB1B,OAAO,CAAC,MAAM,CAAC,YAAY;CAO5B"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { Logger } from '@xylabs/logger'
|
|
2
|
-
import type { AxiosRequestConfig, AxiosResponse } from 'axios'
|
|
3
|
-
import { Axios, AxiosHeaders } from 'axios'
|
|
4
|
-
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
-
export type AxiosJsonRequestUncompressedConfig<D = any> = AxiosRequestConfig<D>
|
|
7
|
-
|
|
8
|
-
export class AxiosJsonUncompressed extends Axios {
|
|
9
|
-
static defaultLogger?: Logger
|
|
10
|
-
|
|
11
|
-
constructor(config?: AxiosJsonRequestUncompressedConfig) {
|
|
12
|
-
super(AxiosJsonUncompressed.axiosConfig(config))
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static create(config?: AxiosJsonRequestUncompressedConfig) {
|
|
16
|
-
return new this(config) as Axios
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static finalPath(response: AxiosResponse) {
|
|
20
|
-
if (response.request.path) {
|
|
21
|
-
// nodejs
|
|
22
|
-
return response.request.path.split('/').pop()
|
|
23
|
-
} else if (response.request.responseURL) {
|
|
24
|
-
// browser
|
|
25
|
-
return response.request.responseURL.split('/').pop()
|
|
26
|
-
} else {
|
|
27
|
-
this.defaultLogger?.warn('Failed to get final path from response')
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
private static axiosConfig({ headers, ...config }: AxiosJsonRequestUncompressedConfig = {}): AxiosJsonRequestUncompressedConfig {
|
|
32
|
-
return {
|
|
33
|
-
headers: this.buildHeaders(headers),
|
|
34
|
-
transformRequest: (data) => {
|
|
35
|
-
const json = JSON.stringify(data)
|
|
36
|
-
return JSON.stringify(json)
|
|
37
|
-
},
|
|
38
|
-
transformResponse: (data) => {
|
|
39
|
-
try {
|
|
40
|
-
return JSON.parse(data)
|
|
41
|
-
} catch {
|
|
42
|
-
return null
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
...config,
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
private static buildHeaders(headers: AxiosJsonRequestUncompressedConfig['headers']) {
|
|
50
|
-
const axiosHeaders = new AxiosHeaders()
|
|
51
|
-
axiosHeaders.set('Accept', 'application/json, text/plain, *.*')
|
|
52
|
-
axiosHeaders.set('Content-Type', 'application/json')
|
|
53
|
-
for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value)
|
|
54
|
-
return axiosHeaders
|
|
55
|
-
}
|
|
56
|
-
}
|