@hyperttp/parser 1.0.9 → 1.0.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperttp/parser",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "Automated response parsing and content conversion plugin for Hyperttp client",
5
5
  "type": "module",
6
6
  "main": "./index.js",
package/plugin.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGpE,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,wBAAwB,GACjC,SAAS,CAiEX;AAED,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,wBAAwB;QAChC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;KAC9C;CACF;AAED,eAAO,MAAM,YAAY,EAAE,WAM1B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAGpE,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,wBAAwB,GACjC,SAAS,CAsEX;AAED,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,wBAAwB;QAChC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;KAC9C;CACF;AAED,eAAO,MAAM,YAAY,EAAE,WAM1B,CAAC"}
package/plugin.js CHANGED
@@ -11,7 +11,8 @@ export function withParser(client, options) {
11
11
  body.cancel().catch(() => { });
12
12
  }
13
13
  else if (typeof body.destroy === "function") {
14
- body.destroy();
14
+ if (!body.destroyed)
15
+ body.destroy();
15
16
  }
16
17
  };
17
18
  client.dispatch = async (req) => {
@@ -25,14 +26,21 @@ export function withParser(client, options) {
25
26
  if (!rawResponse?.body) {
26
27
  return rawResponse;
27
28
  }
28
- safeDestroy(rawResponse.body);
29
29
  if (rawResponse.status && rawResponse.status >= 400) {
30
+ safeDestroy(rawResponse.body);
30
31
  return rawResponse;
31
32
  }
32
33
  const { headers, body } = rawResponse;
33
34
  const isLogging = req.meta?.trackTimings;
34
35
  const start = isLogging ? process.hrtime.bigint() : 0n;
35
- const bufferBody = await converter.readBody(body);
36
+ let bufferBody;
37
+ try {
38
+ bufferBody = await converter.readBody(body);
39
+ }
40
+ catch (readErr) {
41
+ safeDestroy(body);
42
+ throw readErr;
43
+ }
36
44
  const currentUrl = (rawResponse.url || req.url);
37
45
  const parsedData = await converter.convert(bufferBody, responseType, {
38
46
  contentType: headers["content-type"] || headers["Content-Type"],
package/plugin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}