@ureq/impl-axios 0.0.2 → 0.0.3
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/README.md +111 -0
- package/dist/index.js +81 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +75 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# @ureq/impl-axios
|
|
2
|
+
|
|
3
|
+
基于 Axios 的请求器实现。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @ureq/core @ureq/impl-axios axios
|
|
9
|
+
# 或
|
|
10
|
+
pnpm add @ureq/core @ureq/impl-axios axios
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
> 注意:需要同时安装 `axios` 依赖
|
|
14
|
+
|
|
15
|
+
## 使用
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { Request } from '@ureq/core';
|
|
19
|
+
import { AxiosRequestor } from '@ureq/impl-axios';
|
|
20
|
+
|
|
21
|
+
const request = new Request(new AxiosRequestor({
|
|
22
|
+
baseURL: 'https://api.example.com',
|
|
23
|
+
headers: {
|
|
24
|
+
'Content-Type': 'application/json'
|
|
25
|
+
},
|
|
26
|
+
timeout: 5000
|
|
27
|
+
}));
|
|
28
|
+
|
|
29
|
+
// 发起请求
|
|
30
|
+
const users = await request.get('/users');
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 配置选项
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
interface AxiosRequestorConfig {
|
|
37
|
+
baseURL?: string; // API 基础 URL
|
|
38
|
+
headers?: Record<string, string>; // 默认请求头
|
|
39
|
+
timeout?: number; // 超时时间(毫秒)
|
|
40
|
+
withCredentials?: boolean; // 跨域请求是否携带凭证
|
|
41
|
+
// 其他 Axios 配置...
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 特性
|
|
46
|
+
|
|
47
|
+
- ✅ 功能丰富
|
|
48
|
+
- ✅ 广泛的浏览器支持
|
|
49
|
+
- ✅ 自动转换 JSON 数据
|
|
50
|
+
- ✅ 请求和响应拦截器
|
|
51
|
+
- ✅ 取消请求支持
|
|
52
|
+
- ✅ 进度监控
|
|
53
|
+
|
|
54
|
+
## 浏览器兼容性
|
|
55
|
+
|
|
56
|
+
- Chrome
|
|
57
|
+
- Firefox
|
|
58
|
+
- Safari
|
|
59
|
+
- Edge
|
|
60
|
+
- IE 11+
|
|
61
|
+
- Node.js
|
|
62
|
+
|
|
63
|
+
## 何时使用
|
|
64
|
+
|
|
65
|
+
选择 AxiosRequestor 当你需要:
|
|
66
|
+
|
|
67
|
+
- 支持旧版本浏览器(IE 11+)
|
|
68
|
+
- 更多的配置选项
|
|
69
|
+
- 上传/下载进度监控
|
|
70
|
+
- 请求取消功能
|
|
71
|
+
|
|
72
|
+
## 示例
|
|
73
|
+
|
|
74
|
+
### 基础用法
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
const requestor = new AxiosRequestor({
|
|
78
|
+
baseURL: 'https://api.example.com'
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
const request = new Request(requestor);
|
|
82
|
+
const data = await request.get('/users');
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 带认证
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
const requestor = new AxiosRequestor({
|
|
89
|
+
baseURL: 'https://api.example.com',
|
|
90
|
+
headers: {
|
|
91
|
+
'Authorization': 'Bearer your-token'
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 跨域请求
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
const requestor = new AxiosRequestor({
|
|
100
|
+
baseURL: 'https://api.example.com',
|
|
101
|
+
withCredentials: true // 携带 Cookie
|
|
102
|
+
});
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 文档
|
|
106
|
+
|
|
107
|
+
查看完整文档:[https://sunny-117.github.io/ureq](https://sunny-117.github.io/ureq)
|
|
108
|
+
|
|
109
|
+
## License
|
|
110
|
+
|
|
111
|
+
MIT
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,82 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var axios = require('axios');
|
|
4
|
+
var core = require('@ureq/core');
|
|
5
|
+
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var axios__default = /*#__PURE__*/_interopDefault(axios);
|
|
9
|
+
|
|
10
|
+
// src/index.ts
|
|
11
|
+
var AxiosRequestor = class {
|
|
12
|
+
constructor(options) {
|
|
13
|
+
this.instance = axios__default.default.create({
|
|
14
|
+
baseURL: options?.baseURL,
|
|
15
|
+
timeout: options?.timeout,
|
|
16
|
+
headers: options?.headers
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
convertOptions(options) {
|
|
20
|
+
return {
|
|
21
|
+
headers: options?.headers,
|
|
22
|
+
signal: options?.signal,
|
|
23
|
+
responseType: options?.responseType,
|
|
24
|
+
...options
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
convertResponse(response) {
|
|
28
|
+
return {
|
|
29
|
+
data: response.data,
|
|
30
|
+
status: response.status,
|
|
31
|
+
statusText: response.statusText,
|
|
32
|
+
headers: response.headers
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
handleError(error, method, url) {
|
|
36
|
+
throw core.createRequestError(error, { method, url });
|
|
37
|
+
}
|
|
38
|
+
async get(url, options) {
|
|
39
|
+
try {
|
|
40
|
+
const response = await this.instance.get(url, this.convertOptions(options));
|
|
41
|
+
return this.convertResponse(response);
|
|
42
|
+
} catch (error) {
|
|
43
|
+
this.handleError(error, "GET", url);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async post(url, data, options) {
|
|
47
|
+
try {
|
|
48
|
+
const response = await this.instance.post(url, data, this.convertOptions(options));
|
|
49
|
+
return this.convertResponse(response);
|
|
50
|
+
} catch (error) {
|
|
51
|
+
this.handleError(error, "POST", url);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async put(url, data, options) {
|
|
55
|
+
try {
|
|
56
|
+
const response = await this.instance.put(url, data, this.convertOptions(options));
|
|
57
|
+
return this.convertResponse(response);
|
|
58
|
+
} catch (error) {
|
|
59
|
+
this.handleError(error, "PUT", url);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async delete(url, options) {
|
|
63
|
+
try {
|
|
64
|
+
const response = await this.instance.delete(url, this.convertOptions(options));
|
|
65
|
+
return this.convertResponse(response);
|
|
66
|
+
} catch (error) {
|
|
67
|
+
this.handleError(error, "DELETE", url);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async patch(url, data, options) {
|
|
71
|
+
try {
|
|
72
|
+
const response = await this.instance.patch(url, data, this.convertOptions(options));
|
|
73
|
+
return this.convertResponse(response);
|
|
74
|
+
} catch (error) {
|
|
75
|
+
this.handleError(error, "PATCH", url);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
exports.AxiosRequestor = AxiosRequestor;
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
2
82
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["axios","createRequestError"],"mappings":"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","file":"index.js","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, ResponseType } from 'axios';\nimport { Requestor, RequestOptions, Response, createRequestError } from '@ureq/core';\n\nexport interface AxiosRequestorOptions {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\nexport class AxiosRequestor implements Requestor {\n private instance: AxiosInstance;\n\n constructor(options?: AxiosRequestorOptions) {\n this.instance = axios.create({\n baseURL: options?.baseURL,\n timeout: options?.timeout,\n headers: options?.headers,\n });\n }\n\n private convertOptions(options?: RequestOptions): AxiosRequestConfig {\n return {\n headers: options?.headers,\n signal: options?.signal,\n responseType: options?.responseType as ResponseType | undefined,\n ...options,\n };\n }\n\n private convertResponse<T>(response: any): Response<T> {\n return {\n data: response.data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n private handleError(error: any, method?: string, url?: string): never {\n throw createRequestError(error, { method, url });\n }\n\n async get<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.get(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'GET', url);\n }\n }\n\n async post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.post(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'POST', url);\n }\n }\n\n async put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.put(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PUT', url);\n }\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.delete(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'DELETE', url);\n }\n }\n\n async patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.patch(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PATCH', url);\n }\n }\n} "]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,76 @@
|
|
|
1
|
-
import
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { createRequestError } from '@ureq/core';
|
|
3
|
+
|
|
4
|
+
// src/index.ts
|
|
5
|
+
var AxiosRequestor = class {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.instance = axios.create({
|
|
8
|
+
baseURL: options?.baseURL,
|
|
9
|
+
timeout: options?.timeout,
|
|
10
|
+
headers: options?.headers
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
convertOptions(options) {
|
|
14
|
+
return {
|
|
15
|
+
headers: options?.headers,
|
|
16
|
+
signal: options?.signal,
|
|
17
|
+
responseType: options?.responseType,
|
|
18
|
+
...options
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
convertResponse(response) {
|
|
22
|
+
return {
|
|
23
|
+
data: response.data,
|
|
24
|
+
status: response.status,
|
|
25
|
+
statusText: response.statusText,
|
|
26
|
+
headers: response.headers
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
handleError(error, method, url) {
|
|
30
|
+
throw createRequestError(error, { method, url });
|
|
31
|
+
}
|
|
32
|
+
async get(url, options) {
|
|
33
|
+
try {
|
|
34
|
+
const response = await this.instance.get(url, this.convertOptions(options));
|
|
35
|
+
return this.convertResponse(response);
|
|
36
|
+
} catch (error) {
|
|
37
|
+
this.handleError(error, "GET", url);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async post(url, data, options) {
|
|
41
|
+
try {
|
|
42
|
+
const response = await this.instance.post(url, data, this.convertOptions(options));
|
|
43
|
+
return this.convertResponse(response);
|
|
44
|
+
} catch (error) {
|
|
45
|
+
this.handleError(error, "POST", url);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async put(url, data, options) {
|
|
49
|
+
try {
|
|
50
|
+
const response = await this.instance.put(url, data, this.convertOptions(options));
|
|
51
|
+
return this.convertResponse(response);
|
|
52
|
+
} catch (error) {
|
|
53
|
+
this.handleError(error, "PUT", url);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async delete(url, options) {
|
|
57
|
+
try {
|
|
58
|
+
const response = await this.instance.delete(url, this.convertOptions(options));
|
|
59
|
+
return this.convertResponse(response);
|
|
60
|
+
} catch (error) {
|
|
61
|
+
this.handleError(error, "DELETE", url);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async patch(url, data, options) {
|
|
65
|
+
try {
|
|
66
|
+
const response = await this.instance.patch(url, data, this.convertOptions(options));
|
|
67
|
+
return this.convertResponse(response);
|
|
68
|
+
} catch (error) {
|
|
69
|
+
this.handleError(error, "PATCH", url);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export { AxiosRequestor };
|
|
75
|
+
//# sourceMappingURL=index.mjs.map
|
|
2
76
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, ResponseType } from 'axios';\nimport { Requestor, RequestOptions, Response, createRequestError } from '@ureq/core';\n\nexport interface AxiosRequestorOptions {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\nexport class AxiosRequestor implements Requestor {\n private instance: AxiosInstance;\n\n constructor(options?: AxiosRequestorOptions) {\n this.instance = axios.create({\n baseURL: options?.baseURL,\n timeout: options?.timeout,\n headers: options?.headers,\n });\n }\n\n private convertOptions(options?: RequestOptions): AxiosRequestConfig {\n return {\n headers: options?.headers,\n signal: options?.signal,\n responseType: options?.responseType as ResponseType | undefined,\n ...options,\n };\n }\n\n private convertResponse<T>(response: any): Response<T> {\n return {\n data: response.data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n private handleError(error: any, method?: string, url?: string): never {\n throw createRequestError(error, { method, url });\n }\n\n async get<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.get(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'GET', url);\n }\n }\n\n async post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.post(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'POST', url);\n }\n }\n\n async put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.put(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PUT', url);\n }\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.delete(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'DELETE', url);\n }\n }\n\n async patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.patch(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PATCH', url);\n }\n }\n} "]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ureq/impl-axios",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Axios implementation for universal request library",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"axios": "^1.0.0",
|
|
23
|
-
"@ureq/core": "0.0.
|
|
23
|
+
"@ureq/core": "0.0.3"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^20.0.0",
|