@faasjs/request 0.0.4-beta.1 → 0.0.4-beta.11
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 +10 -6
- package/dist/index.d.mts +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +20 -4
- package/dist/index.mjs +20 -5
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -12,6 +12,10 @@ FaasJS's request module.
|
|
|
12
12
|
|
|
13
13
|
## Modules
|
|
14
14
|
|
|
15
|
+
### Classes
|
|
16
|
+
|
|
17
|
+
- [ResponseError](classes/ResponseError.md)
|
|
18
|
+
|
|
15
19
|
### Type Aliases
|
|
16
20
|
|
|
17
21
|
- [Request](#request)
|
|
@@ -34,7 +38,7 @@ FaasJS's request module.
|
|
|
34
38
|
|
|
35
39
|
| Name | Type |
|
|
36
40
|
| :------ | :------ |
|
|
37
|
-
| `body?` | { `[key: string]`: `any`; } |
|
|
41
|
+
| `body?` | \{ `[key: string]`: `any`; } |
|
|
38
42
|
| `headers?` | `http.OutgoingHttpHeaders` |
|
|
39
43
|
| `host?` | `string` |
|
|
40
44
|
| `method?` | `string` |
|
|
@@ -53,7 +57,7 @@ ___
|
|
|
53
57
|
| :------ | :------ | :------ |
|
|
54
58
|
| `agent?` | `boolean` | - |
|
|
55
59
|
| `auth?` | `string` | The authentication credentials to use for the request. Format: `username:password` |
|
|
56
|
-
| `body?` | { `[key: string]`: `any`; } \| `string` | - |
|
|
60
|
+
| `body?` | \{ `[key: string]`: `any`; } \| `string` | - |
|
|
57
61
|
| `downloadFile?` | `string` | Path of downloading a file from the server. ```ts await request('https://example.com', { downloadFile: 'filepath' }) ``` |
|
|
58
62
|
| `downloadStream?` | `NodeJS.WritableStream` | Create a write stream to download a file. ```ts import { createWriteStream } from 'fs' const stream = createWriteStream('filepath') await request('https://example.com', { downloadStream: stream }) ``` |
|
|
59
63
|
| `file?` | `string` | Path of uploading a file to the server. ```ts await request('https://example.com', { file: 'filepath' }) ``` |
|
|
@@ -63,14 +67,14 @@ ___
|
|
|
63
67
|
| `parse?` | (`body`: `string`) => `any` | Body parser. Defaults to `JSON.parse`. |
|
|
64
68
|
| `passphrase?` | `string` | - |
|
|
65
69
|
| `pfx?` | `Buffer` | - |
|
|
66
|
-
| `query?` | { `[key: string]`: `any`; } | - |
|
|
70
|
+
| `query?` | \{ `[key: string]`: `any`; } | - |
|
|
67
71
|
| `timeout?` | `number` | - |
|
|
68
72
|
|
|
69
73
|
___
|
|
70
74
|
|
|
71
75
|
### Response
|
|
72
76
|
|
|
73
|
-
Ƭ **Response
|
|
77
|
+
Ƭ **Response**\<`T`\>: `Object`
|
|
74
78
|
|
|
75
79
|
#### Type parameters
|
|
76
80
|
|
|
@@ -108,7 +112,7 @@ ___
|
|
|
108
112
|
|
|
109
113
|
### request
|
|
110
114
|
|
|
111
|
-
▸ **request
|
|
115
|
+
▸ **request**\<`T`\>(`url`, `options?`): `Promise`\<[`Response`](#response)\<`T`\>\>
|
|
112
116
|
|
|
113
117
|
Request
|
|
114
118
|
|
|
@@ -127,7 +131,7 @@ Request
|
|
|
127
131
|
|
|
128
132
|
#### Returns
|
|
129
133
|
|
|
130
|
-
`Promise
|
|
134
|
+
`Promise`\<[`Response`](#response)\<`T`\>\>
|
|
131
135
|
|
|
132
136
|
**`Url`**
|
|
133
137
|
|
package/dist/index.d.mts
CHANGED
|
@@ -81,8 +81,21 @@ type Mock = (url: string, options: RequestOptions) => Promise<Response>;
|
|
|
81
81
|
*/
|
|
82
82
|
declare function setMock(handler: Mock | null): void;
|
|
83
83
|
declare function querystringify(obj: any): string;
|
|
84
|
+
/**
|
|
85
|
+
* ResponseError class
|
|
86
|
+
*/
|
|
87
|
+
declare class ResponseError extends Error {
|
|
88
|
+
response: Response;
|
|
89
|
+
request: Request;
|
|
90
|
+
statusCode: number;
|
|
91
|
+
statusMessage: string;
|
|
92
|
+
headers: http.OutgoingHttpHeaders;
|
|
93
|
+
body: any;
|
|
94
|
+
constructor(message: string, response: Response<any>);
|
|
95
|
+
}
|
|
84
96
|
/**
|
|
85
97
|
* Request
|
|
98
|
+
*
|
|
86
99
|
* @param {string} url Url
|
|
87
100
|
* @param {object=} [options={}] Options
|
|
88
101
|
* @param {string} [options.method=GET] Method
|
|
@@ -100,8 +113,9 @@ declare function querystringify(obj: any): string;
|
|
|
100
113
|
* @param {parse=} options.parse body parser, default is JSON.parse
|
|
101
114
|
*
|
|
102
115
|
* @returns {promise}
|
|
116
|
+
*
|
|
103
117
|
* @url https://faasjs.com/doc/request.html
|
|
104
118
|
*/
|
|
105
119
|
declare function request<T = any>(url: string, { headers, method, query, body, timeout, auth, file, downloadStream, downloadFile, pfx, passphrase, agent, parse, logger, }?: RequestOptions): Promise<Response<T>>;
|
|
106
120
|
|
|
107
|
-
export { Request, RequestOptions, Response, querystringify, request, setMock };
|
|
121
|
+
export { Request, RequestOptions, Response, ResponseError, querystringify, request, setMock };
|
package/dist/index.d.ts
CHANGED
|
@@ -81,8 +81,21 @@ type Mock = (url: string, options: RequestOptions) => Promise<Response>;
|
|
|
81
81
|
*/
|
|
82
82
|
declare function setMock(handler: Mock | null): void;
|
|
83
83
|
declare function querystringify(obj: any): string;
|
|
84
|
+
/**
|
|
85
|
+
* ResponseError class
|
|
86
|
+
*/
|
|
87
|
+
declare class ResponseError extends Error {
|
|
88
|
+
response: Response;
|
|
89
|
+
request: Request;
|
|
90
|
+
statusCode: number;
|
|
91
|
+
statusMessage: string;
|
|
92
|
+
headers: http.OutgoingHttpHeaders;
|
|
93
|
+
body: any;
|
|
94
|
+
constructor(message: string, response: Response<any>);
|
|
95
|
+
}
|
|
84
96
|
/**
|
|
85
97
|
* Request
|
|
98
|
+
*
|
|
86
99
|
* @param {string} url Url
|
|
87
100
|
* @param {object=} [options={}] Options
|
|
88
101
|
* @param {string} [options.method=GET] Method
|
|
@@ -100,8 +113,9 @@ declare function querystringify(obj: any): string;
|
|
|
100
113
|
* @param {parse=} options.parse body parser, default is JSON.parse
|
|
101
114
|
*
|
|
102
115
|
* @returns {promise}
|
|
116
|
+
*
|
|
103
117
|
* @url https://faasjs.com/doc/request.html
|
|
104
118
|
*/
|
|
105
119
|
declare function request<T = any>(url: string, { headers, method, query, body, timeout, auth, file, downloadStream, downloadFile, pfx, passphrase, agent, parse, logger, }?: RequestOptions): Promise<Response<T>>;
|
|
106
120
|
|
|
107
|
-
export { Request, RequestOptions, Response, querystringify, request, setMock };
|
|
121
|
+
export { Request, RequestOptions, Response, ResponseError, querystringify, request, setMock };
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ function querystringify(obj) {
|
|
|
40
40
|
for (key in obj) {
|
|
41
41
|
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
42
42
|
value = obj[key];
|
|
43
|
-
if (!value && (value === null || value === void 0 || isNaN(value))) {
|
|
43
|
+
if (!value && (value === null || value === void 0 || Number.isNaN(value))) {
|
|
44
44
|
value = "";
|
|
45
45
|
}
|
|
46
46
|
key = encodeURIComponent(key);
|
|
@@ -52,6 +52,17 @@ function querystringify(obj) {
|
|
|
52
52
|
}
|
|
53
53
|
return pairs.length ? pairs.join("&") : "";
|
|
54
54
|
}
|
|
55
|
+
var ResponseError = class extends Error {
|
|
56
|
+
constructor(message, response) {
|
|
57
|
+
super(message);
|
|
58
|
+
this.response = response;
|
|
59
|
+
this.request = response.request;
|
|
60
|
+
this.statusCode = response.statusCode;
|
|
61
|
+
this.statusMessage = response.statusMessage;
|
|
62
|
+
this.headers = response.headers;
|
|
63
|
+
this.body = response.body;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
55
66
|
async function request(url$1, {
|
|
56
67
|
headers,
|
|
57
68
|
method,
|
|
@@ -145,7 +156,7 @@ async function request(url$1, {
|
|
|
145
156
|
res.headers["content-type"],
|
|
146
157
|
data
|
|
147
158
|
);
|
|
148
|
-
const response =
|
|
159
|
+
const response = /* @__PURE__ */ Object.create(null);
|
|
149
160
|
response.request = options;
|
|
150
161
|
response.request.body = body;
|
|
151
162
|
response.statusCode = res.statusCode;
|
|
@@ -164,8 +175,12 @@ async function request(url$1, {
|
|
|
164
175
|
resolve(response);
|
|
165
176
|
else {
|
|
166
177
|
logger$1.debug("response.error %j", response);
|
|
167
|
-
|
|
168
|
-
|
|
178
|
+
reject(
|
|
179
|
+
new ResponseError(
|
|
180
|
+
`${res.statusMessage || res.statusCode} ${options.host}${options.path}`,
|
|
181
|
+
response
|
|
182
|
+
)
|
|
183
|
+
);
|
|
169
184
|
}
|
|
170
185
|
});
|
|
171
186
|
}
|
|
@@ -199,6 +214,7 @@ async function request(url$1, {
|
|
|
199
214
|
});
|
|
200
215
|
}
|
|
201
216
|
|
|
217
|
+
exports.ResponseError = ResponseError;
|
|
202
218
|
exports.querystringify = querystringify;
|
|
203
219
|
exports.request = request;
|
|
204
220
|
exports.setMock = setMock;
|
package/dist/index.mjs
CHANGED
|
@@ -17,7 +17,7 @@ function querystringify(obj) {
|
|
|
17
17
|
for (key in obj) {
|
|
18
18
|
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
19
19
|
value = obj[key];
|
|
20
|
-
if (!value && (value === null || value === void 0 || isNaN(value))) {
|
|
20
|
+
if (!value && (value === null || value === void 0 || Number.isNaN(value))) {
|
|
21
21
|
value = "";
|
|
22
22
|
}
|
|
23
23
|
key = encodeURIComponent(key);
|
|
@@ -29,6 +29,17 @@ function querystringify(obj) {
|
|
|
29
29
|
}
|
|
30
30
|
return pairs.length ? pairs.join("&") : "";
|
|
31
31
|
}
|
|
32
|
+
var ResponseError = class extends Error {
|
|
33
|
+
constructor(message, response) {
|
|
34
|
+
super(message);
|
|
35
|
+
this.response = response;
|
|
36
|
+
this.request = response.request;
|
|
37
|
+
this.statusCode = response.statusCode;
|
|
38
|
+
this.statusMessage = response.statusMessage;
|
|
39
|
+
this.headers = response.headers;
|
|
40
|
+
this.body = response.body;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
32
43
|
async function request(url, {
|
|
33
44
|
headers,
|
|
34
45
|
method,
|
|
@@ -122,7 +133,7 @@ async function request(url, {
|
|
|
122
133
|
res.headers["content-type"],
|
|
123
134
|
data
|
|
124
135
|
);
|
|
125
|
-
const response =
|
|
136
|
+
const response = /* @__PURE__ */ Object.create(null);
|
|
126
137
|
response.request = options;
|
|
127
138
|
response.request.body = body;
|
|
128
139
|
response.statusCode = res.statusCode;
|
|
@@ -141,8 +152,12 @@ async function request(url, {
|
|
|
141
152
|
resolve(response);
|
|
142
153
|
else {
|
|
143
154
|
logger.debug("response.error %j", response);
|
|
144
|
-
|
|
145
|
-
|
|
155
|
+
reject(
|
|
156
|
+
new ResponseError(
|
|
157
|
+
`${res.statusMessage || res.statusCode} ${options.host}${options.path}`,
|
|
158
|
+
response
|
|
159
|
+
)
|
|
160
|
+
);
|
|
146
161
|
}
|
|
147
162
|
});
|
|
148
163
|
}
|
|
@@ -176,4 +191,4 @@ async function request(url, {
|
|
|
176
191
|
});
|
|
177
192
|
}
|
|
178
193
|
|
|
179
|
-
export { querystringify, request, setMock };
|
|
194
|
+
export { ResponseError, querystringify, request, setMock };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faasjs/request",
|
|
3
|
-
"version": "0.0.4-beta.
|
|
3
|
+
"version": "0.0.4-beta.11",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
23
|
"peerDependencies": {
|
|
24
|
-
"@faasjs/logger": "0.0.
|
|
24
|
+
"@faasjs/logger": "0.0.4-beta.11"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@faasjs/logger": "0.0.4-beta.
|
|
27
|
+
"@faasjs/logger": "0.0.4-beta.11"
|
|
28
28
|
},
|
|
29
29
|
"engines": {
|
|
30
30
|
"npm": ">=9.0.0",
|