@xylabs/axios 5.0.27 → 5.0.29
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 +5 -3
- package/dist/neutral/AxiosJson.d.ts.map +1 -1
- package/dist/neutral/AxiosJsonUncompressed.d.ts +4 -3
- package/dist/neutral/AxiosJsonUncompressed.d.ts.map +1 -1
- package/dist/neutral/index.mjs +8 -2
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/AxiosJson.ts +12 -6
- package/src/AxiosJsonUncompressed.ts +9 -5
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { Logger } from '@xylabs/logger';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
3
3
|
import { Axios } from 'axios';
|
|
4
|
-
export type
|
|
4
|
+
export type AxiosJsonRequestConfig<D = any> = AxiosRequestConfig<D> & {
|
|
5
5
|
compressLength?: number;
|
|
6
6
|
};
|
|
7
|
+
export type AxiosType = typeof Axios;
|
|
7
8
|
export declare class AxiosJson extends Axios {
|
|
8
9
|
static defaultLogger?: Logger;
|
|
9
|
-
constructor(config?:
|
|
10
|
+
constructor(config?: AxiosJsonRequestConfig);
|
|
11
|
+
static create(config?: AxiosJsonRequestConfig): Axios;
|
|
10
12
|
static finalPath(response: AxiosResponse): any;
|
|
11
13
|
private static axiosConfig;
|
|
12
14
|
private static buildHeaders;
|
|
@@ -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,
|
|
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,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAI3C,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjG,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAA;AAEpC,qBAAa,SAAU,SAAQ,KAAK;IAClC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEjB,MAAM,CAAC,EAAE,sBAAsB;IAI3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAChB,KAAK;IAGlC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAYxC,OAAO,CAAC,MAAM,CAAC,WAAW;IAwB1B,OAAO,CAAC,MAAM,CAAC,YAAY;CAO5B"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Logger } from '@xylabs/logger';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
3
3
|
import { Axios } from 'axios';
|
|
4
|
-
export type
|
|
4
|
+
export type AxiosJsonRequestUncompressedConfig<D = any> = AxiosRequestConfig<D>;
|
|
5
5
|
export declare class AxiosJsonUncompressed extends Axios {
|
|
6
6
|
static defaultLogger?: Logger;
|
|
7
|
-
constructor(config?:
|
|
7
|
+
constructor(config?: AxiosJsonRequestUncompressedConfig);
|
|
8
|
+
static create(config?: AxiosJsonRequestUncompressedConfig): Axios;
|
|
8
9
|
static finalPath(response: AxiosResponse): any;
|
|
9
10
|
private static axiosConfig;
|
|
10
11
|
private static buildHeaders;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
// src/AxiosJson.ts
|
|
2
2
|
import { Axios, AxiosHeaders } from "axios";
|
|
3
3
|
import { gzip } from "pako";
|
|
4
|
-
var AxiosJson = class
|
|
4
|
+
var AxiosJson = class extends Axios {
|
|
5
5
|
static defaultLogger;
|
|
6
6
|
constructor(config) {
|
|
7
|
-
super(
|
|
7
|
+
super(config);
|
|
8
|
+
}
|
|
9
|
+
static create(config) {
|
|
10
|
+
return new this(config);
|
|
8
11
|
}
|
|
9
12
|
static finalPath(response) {
|
|
10
13
|
if (response.request.path) {
|
|
@@ -56,6 +59,9 @@ var AxiosJsonUncompressed = class _AxiosJsonUncompressed extends Axios2 {
|
|
|
56
59
|
constructor(config) {
|
|
57
60
|
super(_AxiosJsonUncompressed.axiosConfig(config));
|
|
58
61
|
}
|
|
62
|
+
static create(config) {
|
|
63
|
+
return new this(config);
|
|
64
|
+
}
|
|
59
65
|
static finalPath(response) {
|
|
60
66
|
if (response.request.path) {
|
|
61
67
|
return response.request.path.split("/").pop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/AxiosJson.ts","../../src/AxiosJsonUncompressed.ts","../../src/index.ts"],"sourcesContent":["import type { Logger } from '@xylabs/logger'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../src/AxiosJson.ts","../../src/AxiosJsonUncompressed.ts","../../src/index.ts"],"sourcesContent":["import type { Logger } from '@xylabs/logger'\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport { Axios, AxiosHeaders } from 'axios'\nimport { gzip } from 'pako'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AxiosJsonRequestConfig<D = any> = AxiosRequestConfig<D> & { compressLength?: number }\n\nexport type AxiosType = typeof Axios\n\nexport class AxiosJson extends Axios {\n static defaultLogger?: Logger\n\n constructor(config?: AxiosJsonRequestConfig) {\n super(config)\n }\n\n static create(config?: AxiosJsonRequestConfig) {\n return new this(config) as Axios\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 axiosConfig({\n compressLength, headers, ...config\n }: AxiosJsonRequestConfig = {}): AxiosJsonRequestConfig {\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 private static buildHeaders(headers: AxiosJsonRequestConfig['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","import type { Logger } from '@xylabs/logger'\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport { Axios, AxiosHeaders } from 'axios'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AxiosJsonRequestUncompressedConfig<D = any> = AxiosRequestConfig<D>\n\nexport class AxiosJsonUncompressed extends Axios {\n static defaultLogger?: Logger\n\n constructor(config?: AxiosJsonRequestUncompressedConfig) {\n super(AxiosJsonUncompressed.axiosConfig(config))\n }\n\n static create(config?: AxiosJsonRequestUncompressedConfig) {\n return new this(config) as Axios\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 axiosConfig({ headers, ...config }: AxiosJsonRequestUncompressedConfig = {}): AxiosJsonRequestUncompressedConfig {\n return {\n headers: this.buildHeaders(headers),\n transformRequest: (data) => {\n const json = JSON.stringify(data)\n return JSON.stringify(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 private static buildHeaders(headers: AxiosJsonRequestUncompressedConfig['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","import { AxiosJson } from './AxiosJson.ts'\nimport { AxiosJsonUncompressed } from './AxiosJsonUncompressed.ts'\n\nexport * from './AxiosJson.ts'\nexport * from './AxiosJsonUncompressed.ts'\nexport { gzip } from 'pako'\n\nexport const axios = new AxiosJson()\nexport const axiosUncompressed = new AxiosJsonUncompressed()\n"],"mappings":"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","names":["headers","Axios","AxiosHeaders","gzip"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/axios",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.29",
|
|
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.29",
|
|
46
46
|
"pako": "~2.1.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
package/src/AxiosJson.ts
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import type { Logger } from '@xylabs/logger'
|
|
2
|
-
import type {
|
|
2
|
+
import type { AxiosRequestConfig, AxiosResponse } from 'axios'
|
|
3
3
|
import { Axios, AxiosHeaders } from 'axios'
|
|
4
4
|
import { gzip } from 'pako'
|
|
5
5
|
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
-
export type
|
|
7
|
+
export type AxiosJsonRequestConfig<D = any> = AxiosRequestConfig<D> & { compressLength?: number }
|
|
8
|
+
|
|
9
|
+
export type AxiosType = typeof Axios
|
|
8
10
|
|
|
9
11
|
export class AxiosJson extends Axios {
|
|
10
12
|
static defaultLogger?: Logger
|
|
11
13
|
|
|
12
|
-
constructor(config?:
|
|
13
|
-
super(
|
|
14
|
+
constructor(config?: AxiosJsonRequestConfig) {
|
|
15
|
+
super(config)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static create(config?: AxiosJsonRequestConfig) {
|
|
19
|
+
return new this(config) as Axios
|
|
14
20
|
}
|
|
15
21
|
|
|
16
22
|
static finalPath(response: AxiosResponse) {
|
|
@@ -27,7 +33,7 @@ export class AxiosJson extends Axios {
|
|
|
27
33
|
|
|
28
34
|
private static axiosConfig({
|
|
29
35
|
compressLength, headers, ...config
|
|
30
|
-
}:
|
|
36
|
+
}: AxiosJsonRequestConfig = {}): AxiosJsonRequestConfig {
|
|
31
37
|
return {
|
|
32
38
|
headers: this.buildHeaders(headers),
|
|
33
39
|
transformRequest: (data, headers) => {
|
|
@@ -49,7 +55,7 @@ export class AxiosJson extends Axios {
|
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
57
|
|
|
52
|
-
private static buildHeaders(headers:
|
|
58
|
+
private static buildHeaders(headers: AxiosJsonRequestConfig['headers']) {
|
|
53
59
|
const axiosHeaders = new AxiosHeaders()
|
|
54
60
|
axiosHeaders.set('Accept', 'application/json, text/plain, *.*')
|
|
55
61
|
axiosHeaders.set('Content-Type', 'application/json')
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import type { Logger } from '@xylabs/logger'
|
|
2
|
-
import type {
|
|
2
|
+
import type { AxiosRequestConfig, AxiosResponse } from 'axios'
|
|
3
3
|
import { Axios, AxiosHeaders } from 'axios'
|
|
4
4
|
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
-
export type
|
|
6
|
+
export type AxiosJsonRequestUncompressedConfig<D = any> = AxiosRequestConfig<D>
|
|
7
7
|
|
|
8
8
|
export class AxiosJsonUncompressed extends Axios {
|
|
9
9
|
static defaultLogger?: Logger
|
|
10
10
|
|
|
11
|
-
constructor(config?:
|
|
11
|
+
constructor(config?: AxiosJsonRequestUncompressedConfig) {
|
|
12
12
|
super(AxiosJsonUncompressed.axiosConfig(config))
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
static create(config?: AxiosJsonRequestUncompressedConfig) {
|
|
16
|
+
return new this(config) as Axios
|
|
17
|
+
}
|
|
18
|
+
|
|
15
19
|
static finalPath(response: AxiosResponse) {
|
|
16
20
|
if (response.request.path) {
|
|
17
21
|
// nodejs
|
|
@@ -24,7 +28,7 @@ export class AxiosJsonUncompressed extends Axios {
|
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
30
|
|
|
27
|
-
private static axiosConfig({ headers, ...config }:
|
|
31
|
+
private static axiosConfig({ headers, ...config }: AxiosJsonRequestUncompressedConfig = {}): AxiosJsonRequestUncompressedConfig {
|
|
28
32
|
return {
|
|
29
33
|
headers: this.buildHeaders(headers),
|
|
30
34
|
transformRequest: (data) => {
|
|
@@ -42,7 +46,7 @@ export class AxiosJsonUncompressed extends Axios {
|
|
|
42
46
|
}
|
|
43
47
|
}
|
|
44
48
|
|
|
45
|
-
private static buildHeaders(headers:
|
|
49
|
+
private static buildHeaders(headers: AxiosJsonRequestUncompressedConfig['headers']) {
|
|
46
50
|
const axiosHeaders = new AxiosHeaders()
|
|
47
51
|
axiosHeaders.set('Accept', 'application/json, text/plain, *.*')
|
|
48
52
|
axiosHeaders.set('Content-Type', 'application/json')
|