@whitesev/utils 2.6.3 → 2.6.5
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/index.amd.js +7061 -7118
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +7059 -7116
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +7057 -7114
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +7062 -7119
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +7064 -7121
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +7065 -7122
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/Httpx.d.ts +176 -170
- package/dist/types/src/UtilsGMCookie.d.ts +4 -0
- package/dist/types/src/types/Httpx.d.ts +15 -1
- package/package.json +1 -1
- package/src/Httpx.ts +48 -159
- package/src/Utils.ts +1 -1
- package/src/UtilsGMCookie.ts +15 -4
- package/src/types/Httpx.d.ts +15 -1
|
@@ -1,170 +1,176 @@
|
|
|
1
|
-
import type { HttpxHookErrorData, HttpxRequestOption, HttpxRequestOptionConfig, HttpxResponse, HttpxResponseData, HttpxPromise } from "./types/Httpx";
|
|
2
|
-
declare class Httpx {
|
|
3
|
-
#private;
|
|
4
|
-
private GM_Api;
|
|
5
|
-
private HttpxRequestHook;
|
|
6
|
-
private HttpxResponseHook;
|
|
7
|
-
private HttpxRequestOption;
|
|
8
|
-
private HttpxCallBack;
|
|
9
|
-
private HttpxRequest;
|
|
10
|
-
/**
|
|
11
|
-
* 实例化,可传入GM_xmlhttpRequest,未传入则使用window.fetch
|
|
12
|
-
* @param xmlHttpRequest
|
|
13
|
-
*/
|
|
14
|
-
constructor(xmlHttpRequest?: Function);
|
|
15
|
-
/**
|
|
16
|
-
* 覆盖全局配置
|
|
17
|
-
* @param details 配置
|
|
18
|
-
*/
|
|
19
|
-
config(details?: Partial<HttpxRequestOptionConfig>): void;
|
|
20
|
-
/**
|
|
21
|
-
* 拦截器
|
|
22
|
-
*/
|
|
23
|
-
interceptors: {
|
|
24
|
-
/**
|
|
25
|
-
* 请求拦截器
|
|
26
|
-
*/
|
|
27
|
-
request: {
|
|
28
|
-
context: Httpx;
|
|
29
|
-
/**
|
|
30
|
-
* 添加拦截器
|
|
31
|
-
* @param fn 设置的请求前回调函数,如果返回配置,则使用返回的配置,如果返回null|undefined,则阻止请求
|
|
32
|
-
*/
|
|
33
|
-
use(fn: <T extends Required<HttpxRequestOption>>(details: T) => void | T | Promise<void | T>): string | undefined;
|
|
34
|
-
/**
|
|
35
|
-
* 移除拦截器
|
|
36
|
-
* @param id 通过use返回的id
|
|
37
|
-
*/
|
|
38
|
-
eject(id: string): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* 移除所有拦截器
|
|
41
|
-
*/
|
|
42
|
-
ejectAll(): void;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* 响应拦截器
|
|
46
|
-
*/
|
|
47
|
-
response: {
|
|
48
|
-
context: Httpx;
|
|
49
|
-
/**
|
|
50
|
-
* 添加拦截器
|
|
51
|
-
* @param successFn 设置的响应后回调函数,如果返回响应,则使用返回的响应,如果返回null|undefined,则阻止响应
|
|
52
|
-
* + 2xx 范围内的状态码都会触发该函数
|
|
53
|
-
* @param errorFn 设置的响应后回调函数,如果返回响应,则使用返回的响应,如果返回null|undefined,则阻止响应
|
|
54
|
-
* + 超出 2xx 范围的状态码都会触发该函数
|
|
55
|
-
*/
|
|
56
|
-
use(successFn?: <T extends HttpxResponseData<HttpxRequestOption>>(response: T, details: HttpxRequestOption) => void | T, errorFn?: <T extends HttpxHookErrorData>(data: T) => void | T | Promise<void | T>): string | undefined;
|
|
57
|
-
/**
|
|
58
|
-
* 移除拦截器
|
|
59
|
-
* @param id 通过use返回的id
|
|
60
|
-
*/
|
|
61
|
-
eject(id: string): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* 移除所有拦截器
|
|
64
|
-
*/
|
|
65
|
-
ejectAll(): void;
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* 修改xmlHttpRequest
|
|
70
|
-
* @param httpRequest 网络请求函数
|
|
71
|
-
*/
|
|
72
|
-
setXMLHttpRequest(httpRequest: Function): void;
|
|
73
|
-
/**
|
|
74
|
-
* GET 请求
|
|
75
|
-
* @param url 网址
|
|
76
|
-
*/
|
|
77
|
-
get<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
78
|
-
/**
|
|
79
|
-
* GET 请求
|
|
80
|
-
* @param details 配置
|
|
81
|
-
*/
|
|
82
|
-
get<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
83
|
-
/**
|
|
84
|
-
* GET 请求
|
|
85
|
-
* @param url 网址
|
|
86
|
-
* @param details 配置
|
|
87
|
-
*/
|
|
88
|
-
get<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
89
|
-
/**
|
|
90
|
-
* POST 请求
|
|
91
|
-
* @param details 配置
|
|
92
|
-
*/
|
|
93
|
-
post<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
94
|
-
/**
|
|
95
|
-
* POST 请求
|
|
96
|
-
* @param url 网址
|
|
97
|
-
*/
|
|
98
|
-
post<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
99
|
-
/**
|
|
100
|
-
* POST 请求
|
|
101
|
-
* @param url 网址
|
|
102
|
-
* @param details 配置
|
|
103
|
-
*/
|
|
104
|
-
post<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
105
|
-
/**
|
|
106
|
-
* HEAD 请求
|
|
107
|
-
* @param details 配置
|
|
108
|
-
*/
|
|
109
|
-
head<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
110
|
-
/**
|
|
111
|
-
* HEAD 请求
|
|
112
|
-
* @param url 网址
|
|
113
|
-
*/
|
|
114
|
-
head<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
115
|
-
/**
|
|
116
|
-
* HEAD 请求
|
|
117
|
-
* @param url 网址
|
|
118
|
-
* @param details 配置
|
|
119
|
-
*/
|
|
120
|
-
head<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
121
|
-
/**
|
|
122
|
-
* OPTIONS 请求
|
|
123
|
-
* @param details 配置
|
|
124
|
-
*/
|
|
125
|
-
options<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
126
|
-
/**
|
|
127
|
-
* OPTIONS 请求
|
|
128
|
-
* @param url 网址
|
|
129
|
-
*/
|
|
130
|
-
options<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
131
|
-
/**
|
|
132
|
-
* OPTIONS 请求
|
|
133
|
-
* @param url 网址
|
|
134
|
-
* @param details 配置
|
|
135
|
-
*/
|
|
136
|
-
options<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
137
|
-
/**
|
|
138
|
-
* DELETE 请求
|
|
139
|
-
* @param details 配置
|
|
140
|
-
*/
|
|
141
|
-
delete<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
142
|
-
/**
|
|
143
|
-
* DELETE 请求
|
|
144
|
-
* @param url 网址
|
|
145
|
-
*/
|
|
146
|
-
delete<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
147
|
-
/**
|
|
148
|
-
* DELETE 请求
|
|
149
|
-
* @param url 网址
|
|
150
|
-
* @param details 配置
|
|
151
|
-
*/
|
|
152
|
-
delete<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
153
|
-
/**
|
|
154
|
-
* PUT 请求
|
|
155
|
-
* @param details 配置
|
|
156
|
-
*/
|
|
157
|
-
put<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
158
|
-
/**
|
|
159
|
-
* PUT 请求
|
|
160
|
-
* @param url 网址
|
|
161
|
-
*/
|
|
162
|
-
put<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
163
|
-
/**
|
|
164
|
-
* PUT 请求
|
|
165
|
-
* @param url 网址
|
|
166
|
-
* @param details 配置
|
|
167
|
-
*/
|
|
168
|
-
put<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
169
|
-
|
|
170
|
-
|
|
1
|
+
import type { HttpxHookErrorData, HttpxRequestOption, HttpxRequestOptionConfig, HttpxResponse, HttpxResponseData, HttpxPromise } from "./types/Httpx";
|
|
2
|
+
declare class Httpx {
|
|
3
|
+
#private;
|
|
4
|
+
private GM_Api;
|
|
5
|
+
private HttpxRequestHook;
|
|
6
|
+
private HttpxResponseHook;
|
|
7
|
+
private HttpxRequestOption;
|
|
8
|
+
private HttpxCallBack;
|
|
9
|
+
private HttpxRequest;
|
|
10
|
+
/**
|
|
11
|
+
* 实例化,可传入GM_xmlhttpRequest,未传入则使用window.fetch
|
|
12
|
+
* @param xmlHttpRequest
|
|
13
|
+
*/
|
|
14
|
+
constructor(xmlHttpRequest?: Function);
|
|
15
|
+
/**
|
|
16
|
+
* 覆盖全局配置
|
|
17
|
+
* @param details 配置
|
|
18
|
+
*/
|
|
19
|
+
config(details?: Partial<HttpxRequestOptionConfig>): void;
|
|
20
|
+
/**
|
|
21
|
+
* 拦截器
|
|
22
|
+
*/
|
|
23
|
+
interceptors: {
|
|
24
|
+
/**
|
|
25
|
+
* 请求拦截器
|
|
26
|
+
*/
|
|
27
|
+
request: {
|
|
28
|
+
context: Httpx;
|
|
29
|
+
/**
|
|
30
|
+
* 添加拦截器
|
|
31
|
+
* @param fn 设置的请求前回调函数,如果返回配置,则使用返回的配置,如果返回null|undefined,则阻止请求
|
|
32
|
+
*/
|
|
33
|
+
use(fn: <T extends Required<HttpxRequestOption>>(details: T) => void | T | Promise<void | T>): string | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* 移除拦截器
|
|
36
|
+
* @param id 通过use返回的id
|
|
37
|
+
*/
|
|
38
|
+
eject(id: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* 移除所有拦截器
|
|
41
|
+
*/
|
|
42
|
+
ejectAll(): void;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* 响应拦截器
|
|
46
|
+
*/
|
|
47
|
+
response: {
|
|
48
|
+
context: Httpx;
|
|
49
|
+
/**
|
|
50
|
+
* 添加拦截器
|
|
51
|
+
* @param successFn 设置的响应后回调函数,如果返回响应,则使用返回的响应,如果返回null|undefined,则阻止响应
|
|
52
|
+
* + 2xx 范围内的状态码都会触发该函数
|
|
53
|
+
* @param errorFn 设置的响应后回调函数,如果返回响应,则使用返回的响应,如果返回null|undefined,则阻止响应
|
|
54
|
+
* + 超出 2xx 范围的状态码都会触发该函数
|
|
55
|
+
*/
|
|
56
|
+
use(successFn?: <T extends HttpxResponseData<HttpxRequestOption>>(response: T, details: HttpxRequestOption) => void | T, errorFn?: <T extends HttpxHookErrorData>(data: T) => void | T | Promise<void | T>): string | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* 移除拦截器
|
|
59
|
+
* @param id 通过use返回的id
|
|
60
|
+
*/
|
|
61
|
+
eject(id: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* 移除所有拦截器
|
|
64
|
+
*/
|
|
65
|
+
ejectAll(): void;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* 修改xmlHttpRequest
|
|
70
|
+
* @param httpRequest 网络请求函数
|
|
71
|
+
*/
|
|
72
|
+
setXMLHttpRequest(httpRequest: Function): void;
|
|
73
|
+
/**
|
|
74
|
+
* GET 请求
|
|
75
|
+
* @param url 网址
|
|
76
|
+
*/
|
|
77
|
+
get<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
78
|
+
/**
|
|
79
|
+
* GET 请求
|
|
80
|
+
* @param details 配置
|
|
81
|
+
*/
|
|
82
|
+
get<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
83
|
+
/**
|
|
84
|
+
* GET 请求
|
|
85
|
+
* @param url 网址
|
|
86
|
+
* @param details 配置
|
|
87
|
+
*/
|
|
88
|
+
get<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
89
|
+
/**
|
|
90
|
+
* POST 请求
|
|
91
|
+
* @param details 配置
|
|
92
|
+
*/
|
|
93
|
+
post<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
94
|
+
/**
|
|
95
|
+
* POST 请求
|
|
96
|
+
* @param url 网址
|
|
97
|
+
*/
|
|
98
|
+
post<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
99
|
+
/**
|
|
100
|
+
* POST 请求
|
|
101
|
+
* @param url 网址
|
|
102
|
+
* @param details 配置
|
|
103
|
+
*/
|
|
104
|
+
post<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
105
|
+
/**
|
|
106
|
+
* HEAD 请求
|
|
107
|
+
* @param details 配置
|
|
108
|
+
*/
|
|
109
|
+
head<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
110
|
+
/**
|
|
111
|
+
* HEAD 请求
|
|
112
|
+
* @param url 网址
|
|
113
|
+
*/
|
|
114
|
+
head<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
115
|
+
/**
|
|
116
|
+
* HEAD 请求
|
|
117
|
+
* @param url 网址
|
|
118
|
+
* @param details 配置
|
|
119
|
+
*/
|
|
120
|
+
head<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
121
|
+
/**
|
|
122
|
+
* OPTIONS 请求
|
|
123
|
+
* @param details 配置
|
|
124
|
+
*/
|
|
125
|
+
options<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
126
|
+
/**
|
|
127
|
+
* OPTIONS 请求
|
|
128
|
+
* @param url 网址
|
|
129
|
+
*/
|
|
130
|
+
options<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
131
|
+
/**
|
|
132
|
+
* OPTIONS 请求
|
|
133
|
+
* @param url 网址
|
|
134
|
+
* @param details 配置
|
|
135
|
+
*/
|
|
136
|
+
options<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
137
|
+
/**
|
|
138
|
+
* DELETE 请求
|
|
139
|
+
* @param details 配置
|
|
140
|
+
*/
|
|
141
|
+
delete<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
142
|
+
/**
|
|
143
|
+
* DELETE 请求
|
|
144
|
+
* @param url 网址
|
|
145
|
+
*/
|
|
146
|
+
delete<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
147
|
+
/**
|
|
148
|
+
* DELETE 请求
|
|
149
|
+
* @param url 网址
|
|
150
|
+
* @param details 配置
|
|
151
|
+
*/
|
|
152
|
+
delete<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
153
|
+
/**
|
|
154
|
+
* PUT 请求
|
|
155
|
+
* @param details 配置
|
|
156
|
+
*/
|
|
157
|
+
put<T extends HttpxRequestOption>(details: T): HttpxPromise<HttpxResponse<T>>;
|
|
158
|
+
/**
|
|
159
|
+
* PUT 请求
|
|
160
|
+
* @param url 网址
|
|
161
|
+
*/
|
|
162
|
+
put<T extends HttpxRequestOption>(url: string): HttpxPromise<HttpxResponse<T>>;
|
|
163
|
+
/**
|
|
164
|
+
* PUT 请求
|
|
165
|
+
* @param url 网址
|
|
166
|
+
* @param details 配置
|
|
167
|
+
*/
|
|
168
|
+
put<T extends HttpxRequestOption>(url: string, details: T): HttpxPromise<HttpxResponse<T>>;
|
|
169
|
+
/**
|
|
170
|
+
* 发送请求
|
|
171
|
+
* @param details 配置
|
|
172
|
+
* @param beforeRequestOption 处理请求前的配置
|
|
173
|
+
*/
|
|
174
|
+
request<T extends HttpxRequestOption>(details: T, beforeRequestOption?: (option: Required<T>) => void): HttpxPromise<HttpxResponse<T>>;
|
|
175
|
+
}
|
|
176
|
+
export { Httpx };
|
|
@@ -2,6 +2,10 @@ import type { UtilsGMCookieDeleteOptions, UtilsGMCookieListOptions, UtilsGMCooki
|
|
|
2
2
|
export declare class UtilsGMCookie {
|
|
3
3
|
private windowApi;
|
|
4
4
|
constructor(windowApiOption?: WindowApiOption);
|
|
5
|
+
/**
|
|
6
|
+
* 获取Cookie分组
|
|
7
|
+
*/
|
|
8
|
+
private getCookiesList;
|
|
5
9
|
/**
|
|
6
10
|
* 获取单个cookie
|
|
7
11
|
* @param cookieName cookie名
|
|
@@ -62,6 +62,19 @@ export type HttpxStatus =
|
|
|
62
62
|
| 510
|
|
63
63
|
| 511;
|
|
64
64
|
|
|
65
|
+
/**
|
|
66
|
+
* HTTP WebDav的请求方法
|
|
67
|
+
* + https://blog.csdn.net/weixin_48421613/article/details/128611546
|
|
68
|
+
*/
|
|
69
|
+
export type HttpxWebDavMethod =
|
|
70
|
+
| "PROPFIND"
|
|
71
|
+
| "PROPPATCH"
|
|
72
|
+
| "MKCOL"
|
|
73
|
+
| "MOVE"
|
|
74
|
+
| "COPY"
|
|
75
|
+
| "LOCK"
|
|
76
|
+
| "UNLOCK";
|
|
77
|
+
|
|
65
78
|
/**
|
|
66
79
|
* HTTP 请求方法
|
|
67
80
|
* + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods
|
|
@@ -75,7 +88,8 @@ export type HttpxMethod =
|
|
|
75
88
|
| "CONNECT"
|
|
76
89
|
| "OPTIONS"
|
|
77
90
|
| "TRACE"
|
|
78
|
-
| "PATCH"
|
|
91
|
+
| "PATCH"
|
|
92
|
+
| HttpxWebDavMethod;
|
|
79
93
|
|
|
80
94
|
/**
|
|
81
95
|
* 重定向参数
|
package/package.json
CHANGED
package/src/Httpx.ts
CHANGED
|
@@ -244,7 +244,7 @@ class Httpx {
|
|
|
244
244
|
handleBeforeRequestOption(...args: (HttpxRequestOption | string)[]) {
|
|
245
245
|
let option: HttpxRequestOption = {};
|
|
246
246
|
if (typeof args[0] === "string") {
|
|
247
|
-
/* 传入的是url
|
|
247
|
+
/* 传入的是url,转为配置 */
|
|
248
248
|
let url = args[0];
|
|
249
249
|
option.url = url;
|
|
250
250
|
if (typeof args[1] === "object") {
|
|
@@ -254,7 +254,7 @@ class Httpx {
|
|
|
254
254
|
option.url = url;
|
|
255
255
|
}
|
|
256
256
|
} else {
|
|
257
|
-
/*
|
|
257
|
+
/* 传入的是配置 */
|
|
258
258
|
option = args[0];
|
|
259
259
|
}
|
|
260
260
|
return option;
|
|
@@ -1349,37 +1349,13 @@ class Httpx {
|
|
|
1349
1349
|
get(
|
|
1350
1350
|
...args: (string | HttpxRequestOption)[] // @ts-ignore
|
|
1351
1351
|
): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
|
|
1352
|
-
let
|
|
1352
|
+
let useRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
|
|
1353
1353
|
...args
|
|
1354
1354
|
);
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
"GET",
|
|
1360
|
-
userRequestOption,
|
|
1361
|
-
resolve,
|
|
1362
|
-
reject
|
|
1363
|
-
);
|
|
1364
|
-
Reflect.deleteProperty(requestOption, "onprogress");
|
|
1365
|
-
this.HttpxRequestOption.removeRequestNullOption(requestOption);
|
|
1366
|
-
const requestResult = await this.HttpxRequest.request(requestOption);
|
|
1367
|
-
if (
|
|
1368
|
-
requestResult != null &&
|
|
1369
|
-
typeof requestResult.abort === "function"
|
|
1370
|
-
) {
|
|
1371
|
-
abortFn = requestResult.abort;
|
|
1372
|
-
}
|
|
1373
|
-
}
|
|
1374
|
-
);
|
|
1375
|
-
// @ts-ignore
|
|
1376
|
-
promise.abort = () => {
|
|
1377
|
-
if (typeof abortFn === "function") {
|
|
1378
|
-
abortFn();
|
|
1379
|
-
}
|
|
1380
|
-
};
|
|
1381
|
-
// @ts-ignore
|
|
1382
|
-
return promise;
|
|
1355
|
+
useRequestOption.method = "GET";
|
|
1356
|
+
return this.request(useRequestOption, (option) => {
|
|
1357
|
+
Reflect.deleteProperty(option, "onprogress");
|
|
1358
|
+
});
|
|
1383
1359
|
}
|
|
1384
1360
|
/**
|
|
1385
1361
|
* POST 请求
|
|
@@ -1411,38 +1387,11 @@ class Httpx {
|
|
|
1411
1387
|
post(
|
|
1412
1388
|
...args: (HttpxRequestOption | string)[] // @ts-ignore
|
|
1413
1389
|
): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
|
|
1414
|
-
let
|
|
1390
|
+
let useRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
|
|
1415
1391
|
...args
|
|
1416
1392
|
);
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
async (resolve, reject) => {
|
|
1420
|
-
let requestOption = this.HttpxRequestOption.getRequestOption(
|
|
1421
|
-
"POST",
|
|
1422
|
-
userRequestOption,
|
|
1423
|
-
resolve,
|
|
1424
|
-
reject
|
|
1425
|
-
);
|
|
1426
|
-
// @ts-ignore
|
|
1427
|
-
requestOption =
|
|
1428
|
-
this.HttpxRequestOption.removeRequestNullOption(requestOption);
|
|
1429
|
-
const requestResult = await this.HttpxRequest.request(requestOption);
|
|
1430
|
-
if (
|
|
1431
|
-
requestResult != null &&
|
|
1432
|
-
typeof requestResult.abort === "function"
|
|
1433
|
-
) {
|
|
1434
|
-
abortFn = requestResult.abort;
|
|
1435
|
-
}
|
|
1436
|
-
}
|
|
1437
|
-
);
|
|
1438
|
-
// @ts-ignore
|
|
1439
|
-
promise.abort = () => {
|
|
1440
|
-
if (typeof abortFn === "function") {
|
|
1441
|
-
abortFn();
|
|
1442
|
-
}
|
|
1443
|
-
};
|
|
1444
|
-
// @ts-ignore
|
|
1445
|
-
return promise;
|
|
1393
|
+
useRequestOption.method = "POST";
|
|
1394
|
+
return this.request(useRequestOption);
|
|
1446
1395
|
}
|
|
1447
1396
|
/**
|
|
1448
1397
|
* HEAD 请求
|
|
@@ -1473,40 +1422,13 @@ class Httpx {
|
|
|
1473
1422
|
head(
|
|
1474
1423
|
...args: (HttpxRequestOption | string)[] // @ts-ignore
|
|
1475
1424
|
): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
|
|
1476
|
-
let
|
|
1425
|
+
let useRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
|
|
1477
1426
|
...args
|
|
1478
1427
|
);
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
"HEAD",
|
|
1484
|
-
userRequestOption,
|
|
1485
|
-
resolve,
|
|
1486
|
-
reject
|
|
1487
|
-
);
|
|
1488
|
-
Reflect.deleteProperty(requestOption, "onprogress");
|
|
1489
|
-
// @ts-ignore
|
|
1490
|
-
requestOption =
|
|
1491
|
-
this.HttpxRequestOption.removeRequestNullOption(requestOption);
|
|
1492
|
-
const requestResult = await this.HttpxRequest.request(requestOption);
|
|
1493
|
-
if (
|
|
1494
|
-
requestResult != null &&
|
|
1495
|
-
typeof requestResult.abort === "function"
|
|
1496
|
-
) {
|
|
1497
|
-
abortFn = requestResult.abort;
|
|
1498
|
-
}
|
|
1499
|
-
}
|
|
1500
|
-
);
|
|
1501
|
-
|
|
1502
|
-
// @ts-ignore
|
|
1503
|
-
promise.abort = () => {
|
|
1504
|
-
if (typeof abortFn === "function") {
|
|
1505
|
-
abortFn();
|
|
1506
|
-
}
|
|
1507
|
-
};
|
|
1508
|
-
// @ts-ignore
|
|
1509
|
-
return promise;
|
|
1428
|
+
useRequestOption.method = "HEAD";
|
|
1429
|
+
return this.request(useRequestOption, (option) => {
|
|
1430
|
+
Reflect.deleteProperty(option, "onprogress");
|
|
1431
|
+
});
|
|
1510
1432
|
}
|
|
1511
1433
|
/**
|
|
1512
1434
|
* OPTIONS 请求
|
|
@@ -1537,39 +1459,13 @@ class Httpx {
|
|
|
1537
1459
|
options(
|
|
1538
1460
|
...args: (HttpxRequestOption | string)[] // @ts-ignore
|
|
1539
1461
|
): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
|
|
1540
|
-
let
|
|
1462
|
+
let useRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
|
|
1541
1463
|
...args
|
|
1542
1464
|
);
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
"OPTIONS",
|
|
1548
|
-
userRequestOption,
|
|
1549
|
-
resolve,
|
|
1550
|
-
reject
|
|
1551
|
-
);
|
|
1552
|
-
Reflect.deleteProperty(requestOption, "onprogress");
|
|
1553
|
-
// @ts-ignore
|
|
1554
|
-
requestOption =
|
|
1555
|
-
this.HttpxRequestOption.removeRequestNullOption(requestOption);
|
|
1556
|
-
const requestResult = await this.HttpxRequest.request(requestOption);
|
|
1557
|
-
if (
|
|
1558
|
-
requestResult != null &&
|
|
1559
|
-
typeof requestResult.abort === "function"
|
|
1560
|
-
) {
|
|
1561
|
-
abortFn = requestResult.abort;
|
|
1562
|
-
}
|
|
1563
|
-
}
|
|
1564
|
-
);
|
|
1565
|
-
// @ts-ignore
|
|
1566
|
-
promise.abort = () => {
|
|
1567
|
-
if (typeof abortFn === "function") {
|
|
1568
|
-
abortFn();
|
|
1569
|
-
}
|
|
1570
|
-
};
|
|
1571
|
-
// @ts-ignore
|
|
1572
|
-
return promise;
|
|
1465
|
+
useRequestOption.method = "OPTIONS";
|
|
1466
|
+
return this.request(useRequestOption, (option) => {
|
|
1467
|
+
Reflect.deleteProperty(option, "onprogress");
|
|
1468
|
+
});
|
|
1573
1469
|
}
|
|
1574
1470
|
|
|
1575
1471
|
/**
|
|
@@ -1601,40 +1497,13 @@ class Httpx {
|
|
|
1601
1497
|
delete(
|
|
1602
1498
|
...args: (HttpxRequestOption | string)[] // @ts-ignore
|
|
1603
1499
|
): HttpxPromise<HttpxResponse<HttpxRequestOption>> {
|
|
1604
|
-
let
|
|
1500
|
+
let useRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
|
|
1605
1501
|
...args
|
|
1606
1502
|
);
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
"DELETE",
|
|
1612
|
-
userRequestOption,
|
|
1613
|
-
resolve,
|
|
1614
|
-
reject
|
|
1615
|
-
);
|
|
1616
|
-
Reflect.deleteProperty(requestOption, "onprogress");
|
|
1617
|
-
// @ts-ignore
|
|
1618
|
-
requestOption =
|
|
1619
|
-
this.HttpxRequestOption.removeRequestNullOption(requestOption);
|
|
1620
|
-
const requestResult = await this.HttpxRequest.request(requestOption);
|
|
1621
|
-
if (
|
|
1622
|
-
requestResult != null &&
|
|
1623
|
-
typeof requestResult.abort === "function"
|
|
1624
|
-
) {
|
|
1625
|
-
abortFn = requestResult.abort;
|
|
1626
|
-
}
|
|
1627
|
-
}
|
|
1628
|
-
);
|
|
1629
|
-
|
|
1630
|
-
// @ts-ignore
|
|
1631
|
-
promise.abort = () => {
|
|
1632
|
-
if (typeof abortFn === "function") {
|
|
1633
|
-
abortFn();
|
|
1634
|
-
}
|
|
1635
|
-
};
|
|
1636
|
-
// @ts-ignore
|
|
1637
|
-
return promise;
|
|
1503
|
+
useRequestOption.method = "DELETE";
|
|
1504
|
+
return this.request(useRequestOption, (option) => {
|
|
1505
|
+
Reflect.deleteProperty(option, "onprogress");
|
|
1506
|
+
});
|
|
1638
1507
|
}
|
|
1639
1508
|
|
|
1640
1509
|
/**
|
|
@@ -1669,15 +1538,35 @@ class Httpx {
|
|
|
1669
1538
|
let userRequestOption = this.HttpxRequestOption.handleBeforeRequestOption(
|
|
1670
1539
|
...args
|
|
1671
1540
|
);
|
|
1541
|
+
userRequestOption.method = "PUT";
|
|
1542
|
+
return this.request(userRequestOption);
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1545
|
+
/**
|
|
1546
|
+
* 发送请求
|
|
1547
|
+
* @param details 配置
|
|
1548
|
+
* @param beforeRequestOption 处理请求前的配置
|
|
1549
|
+
*/
|
|
1550
|
+
request<T extends HttpxRequestOption>(
|
|
1551
|
+
details: T,
|
|
1552
|
+
beforeRequestOption?: (option: Required<T>) => void
|
|
1553
|
+
): HttpxPromise<HttpxResponse<T>> {
|
|
1554
|
+
let useRequestOption =
|
|
1555
|
+
this.HttpxRequestOption.handleBeforeRequestOption(details);
|
|
1556
|
+
/** 取消请求 */
|
|
1672
1557
|
let abortFn: Function | null = null;
|
|
1673
|
-
let promise = new Promise<HttpxResponse<HttpxRequestOption>>(
|
|
1558
|
+
let promise = new globalThis.Promise<HttpxResponse<HttpxRequestOption>>(
|
|
1674
1559
|
async (resolve, reject) => {
|
|
1675
1560
|
let requestOption = this.HttpxRequestOption.getRequestOption(
|
|
1676
|
-
|
|
1677
|
-
|
|
1561
|
+
useRequestOption.method!,
|
|
1562
|
+
useRequestOption,
|
|
1678
1563
|
resolve,
|
|
1679
1564
|
reject
|
|
1680
1565
|
);
|
|
1566
|
+
if (typeof beforeRequestOption === "function") {
|
|
1567
|
+
// @ts-ignore
|
|
1568
|
+
beforeRequestOption(requestOption);
|
|
1569
|
+
}
|
|
1681
1570
|
// @ts-ignore
|
|
1682
1571
|
requestOption =
|
|
1683
1572
|
this.HttpxRequestOption.removeRequestNullOption(requestOption);
|