@faasjs/request 0.0.2-beta.399 → 0.0.2-beta.400

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 CHANGED
@@ -57,6 +57,7 @@ ___
57
57
  | `downloadStream?` | `NodeJS.WritableStream` | Create a write stream to download a file. |
58
58
  | `file?` | `string` | Path of uploading a file to the server. |
59
59
  | `headers?` | `http.OutgoingHttpHeaders` | - |
60
+ | `logger?` | `Logger` | - |
60
61
  | `method?` | `string` | The HTTP method to use when making the request. Defaults to GET. |
61
62
  | `parse?` | (`body`: `string`) => `any` | Body parser. Defaults to `JSON.parse`. |
62
63
  | `passphrase?` | `string` | - |
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import * as http from 'http';
2
+ import { Logger } from '@faasjs/logger';
2
3
 
3
4
  declare type Request = {
4
5
  headers?: http.OutgoingHttpHeaders;
@@ -51,6 +52,7 @@ declare type RequestOptions = {
51
52
  * Body parser. Defaults to `JSON.parse`.
52
53
  */
53
54
  parse?: (body: string) => any;
55
+ logger?: Logger;
54
56
  };
55
57
  declare type Mock = (url: string, options: RequestOptions) => Promise<Response>;
56
58
  /**
@@ -80,6 +82,6 @@ declare function querystringify(obj: any): string;
80
82
  * @returns {promise}
81
83
  * @url https://faasjs.com/doc/request.html
82
84
  */
83
- declare function request<T = any>(url: string, { headers, method, query, body, timeout, auth, file, downloadStream, pfx, passphrase, agent, parse }?: RequestOptions): Promise<Response<T>>;
85
+ declare function request<T = any>(url: string, { headers, method, query, body, timeout, auth, file, downloadStream, pfx, passphrase, agent, parse, logger, }?: RequestOptions): Promise<Response<T>>;
84
86
 
85
87
  export { Request, RequestOptions, Response, querystringify, request, setMock };
package/dist/index.js CHANGED
@@ -72,12 +72,14 @@ async function request(url, {
72
72
  pfx,
73
73
  passphrase,
74
74
  agent,
75
- parse
75
+ parse,
76
+ logger
76
77
  } = {
77
78
  headers: {},
78
79
  query: {}
79
80
  }) {
80
- const log = new import_logger.Logger("request");
81
+ if (!logger)
82
+ logger = new import_logger.Logger("request");
81
83
  if (mock)
82
84
  return mock(url, {
83
85
  headers,
@@ -120,7 +122,7 @@ async function request(url, {
120
122
  if (body && !options.headers["Content-Length"])
121
123
  options.headers["Content-Length"] = Buffer.byteLength(body);
122
124
  return await new Promise(function(resolve, reject) {
123
- log.debug("request %j", {
125
+ logger.debug("request %j", {
124
126
  ...options,
125
127
  body
126
128
  });
@@ -137,7 +139,7 @@ async function request(url, {
137
139
  });
138
140
  res.on("end", () => {
139
141
  const data = Buffer.concat(raw).toString();
140
- log.timeEnd(url, "response %s %s %s", res.statusCode, res.headers["content-type"], data);
142
+ logger.timeEnd(url, "response %s %s %s", res.statusCode, res.headers["content-type"], data);
141
143
  const response = /* @__PURE__ */ Object.create(null);
142
144
  response.request = options;
143
145
  response.request.body = body;
@@ -148,14 +150,14 @@ async function request(url, {
148
150
  if (response.body && response.headers["content-type"] && response.headers["content-type"].includes("application/json"))
149
151
  try {
150
152
  response.body = parse ? parse(response.body) : JSON.parse(response.body);
151
- log.debug("response.parse JSON");
153
+ logger.debug("response.parse JSON");
152
154
  } catch (error) {
153
155
  console.error(error);
154
156
  }
155
157
  if (response.statusCode >= 200 && response.statusCode < 400)
156
158
  resolve(response);
157
159
  else {
158
- log.debug("response.error %j", response);
160
+ logger.debug("response.error %j", response);
159
161
  reject(response);
160
162
  }
161
163
  });
@@ -178,10 +180,10 @@ async function request(url, {
178
180
  req.write(multipartBody);
179
181
  }
180
182
  req.on("error", function(e) {
181
- log.timeEnd(url, "response.error %j", e);
183
+ logger.timeEnd(url, "response.error %j", e);
182
184
  reject(e);
183
185
  });
184
- log.time(url);
186
+ logger.time(url);
185
187
  req.end();
186
188
  });
187
189
  }
package/dist/index.mjs CHANGED
@@ -40,12 +40,14 @@ async function request(url, {
40
40
  pfx,
41
41
  passphrase,
42
42
  agent,
43
- parse
43
+ parse,
44
+ logger
44
45
  } = {
45
46
  headers: {},
46
47
  query: {}
47
48
  }) {
48
- const log = new Logger("request");
49
+ if (!logger)
50
+ logger = new Logger("request");
49
51
  if (mock)
50
52
  return mock(url, {
51
53
  headers,
@@ -88,7 +90,7 @@ async function request(url, {
88
90
  if (body && !options.headers["Content-Length"])
89
91
  options.headers["Content-Length"] = Buffer.byteLength(body);
90
92
  return await new Promise(function(resolve, reject) {
91
- log.debug("request %j", {
93
+ logger.debug("request %j", {
92
94
  ...options,
93
95
  body
94
96
  });
@@ -105,7 +107,7 @@ async function request(url, {
105
107
  });
106
108
  res.on("end", () => {
107
109
  const data = Buffer.concat(raw).toString();
108
- log.timeEnd(url, "response %s %s %s", res.statusCode, res.headers["content-type"], data);
110
+ logger.timeEnd(url, "response %s %s %s", res.statusCode, res.headers["content-type"], data);
109
111
  const response = /* @__PURE__ */ Object.create(null);
110
112
  response.request = options;
111
113
  response.request.body = body;
@@ -116,14 +118,14 @@ async function request(url, {
116
118
  if (response.body && response.headers["content-type"] && response.headers["content-type"].includes("application/json"))
117
119
  try {
118
120
  response.body = parse ? parse(response.body) : JSON.parse(response.body);
119
- log.debug("response.parse JSON");
121
+ logger.debug("response.parse JSON");
120
122
  } catch (error) {
121
123
  console.error(error);
122
124
  }
123
125
  if (response.statusCode >= 200 && response.statusCode < 400)
124
126
  resolve(response);
125
127
  else {
126
- log.debug("response.error %j", response);
128
+ logger.debug("response.error %j", response);
127
129
  reject(response);
128
130
  }
129
131
  });
@@ -146,10 +148,10 @@ async function request(url, {
146
148
  req.write(multipartBody);
147
149
  }
148
150
  req.on("error", function(e) {
149
- log.timeEnd(url, "response.error %j", e);
151
+ logger.timeEnd(url, "response.error %j", e);
150
152
  reject(e);
151
153
  });
152
- log.time(url);
154
+ logger.time(url);
153
155
  req.end();
154
156
  });
155
157
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faasjs/request",
3
- "version": "0.0.2-beta.399",
3
+ "version": "0.0.2-beta.400",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,13 +22,14 @@
22
22
  "dist"
23
23
  ],
24
24
  "peerDependencies": {
25
- "@faasjs/logger": "^0.0.2-beta.399"
25
+ "@faasjs/logger": "^0.0.2-beta.400"
26
26
  },
27
27
  "devDependencies": {
28
28
  "tsup": "*",
29
29
  "typescript": "*"
30
30
  },
31
31
  "engines": {
32
- "npm": ">=8.0.0"
32
+ "npm": ">=8.0.0",
33
+ "node": ">=16.0.0"
33
34
  }
34
35
  }