@whatwg-node/node-fetch 0.5.0-alpha-20230531142534-b373f43 → 0.5.0-alpha-20230531143520-481e7fa

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/cjs/Request.js CHANGED
@@ -41,7 +41,7 @@ class PonyfillRequest extends Body_js_1.PonyfillBody {
41
41
  this.referrer = requestInit?.referrer || 'about:client';
42
42
  this.referrerPolicy = requestInit?.referrerPolicy || 'no-referrer';
43
43
  this.signal = requestInit?.signal || new AbortController().signal;
44
- this.headersSerializer = requestInit?.headersSerializer || utils_js_1.getHeadersObj;
44
+ this.headersSerializer = requestInit?.headersSerializer || utils_js_1.defaultHeadersSerializer;
45
45
  this.url = url || '';
46
46
  const contentTypeInHeaders = this.headers.get('content-type');
47
47
  if (!contentTypeInHeaders) {
package/cjs/fetch.js CHANGED
@@ -33,6 +33,7 @@ const Headers_js_1 = require("./Headers.js");
33
33
  const Request_js_1 = require("./Request.js");
34
34
  const Response_js_1 = require("./Response.js");
35
35
  const URL_js_1 = require("./URL.js");
36
+ const utils_js_1 = require("./utils.js");
36
37
  function getResponseForFile(url) {
37
38
  const path = (0, url_1.fileURLToPath)(url);
38
39
  const readable = (0, fs_1.createReadStream)(path);
@@ -79,13 +80,10 @@ async function fetchPonyfill(info, init) {
79
80
  ? fetchRequest.body
80
81
  : stream_1.Readable.from(fetchRequest.body)
81
82
  : null);
82
- const curlyHeaders = [];
83
+ const headersSerializer = fetchRequest.headersSerializer || utils_js_1.defaultHeadersSerializer;
83
84
  let size;
84
- fetchRequest.headers.forEach((value, key) => {
85
- curlyHeaders.push(`${key}: ${value}`);
86
- if (key === 'content-length') {
87
- size = Number(value);
88
- }
85
+ const curlyHeaders = headersSerializer(fetchRequest.headers, value => {
86
+ size = Number(value);
89
87
  });
90
88
  let easyNativeBinding;
91
89
  const curlyOptions = {
package/cjs/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uint8ArrayToArrayBuffer = exports.getHeadersObj = void 0;
3
+ exports.defaultHeadersSerializer = exports.uint8ArrayToArrayBuffer = exports.getHeadersObj = void 0;
4
4
  function getHeadersObj(headers) {
5
5
  if (headers == null || !('forEach' in headers)) {
6
6
  return headers;
@@ -16,3 +16,14 @@ function uint8ArrayToArrayBuffer(uint8array) {
16
16
  return uint8array.buffer.slice(uint8array.byteOffset, uint8array.byteOffset + uint8array.byteLength);
17
17
  }
18
18
  exports.uint8ArrayToArrayBuffer = uint8ArrayToArrayBuffer;
19
+ function defaultHeadersSerializer(headers, onContentLength) {
20
+ const headerArray = [];
21
+ headers.forEach((value, key) => {
22
+ if (onContentLength && key === 'content-length') {
23
+ onContentLength(value);
24
+ }
25
+ headerArray.push(`${key}: ${value}`);
26
+ });
27
+ return headerArray;
28
+ }
29
+ exports.defaultHeadersSerializer = defaultHeadersSerializer;
package/esm/Request.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { PonyfillBody } from './Body.js';
2
2
  import { PonyfillHeaders } from './Headers.js';
3
- import { getHeadersObj } from './utils.js';
3
+ import { defaultHeadersSerializer } from './utils.js';
4
4
  function isRequest(input) {
5
5
  return input[Symbol.toStringTag] === 'Request';
6
6
  }
@@ -38,7 +38,7 @@ export class PonyfillRequest extends PonyfillBody {
38
38
  this.referrer = requestInit?.referrer || 'about:client';
39
39
  this.referrerPolicy = requestInit?.referrerPolicy || 'no-referrer';
40
40
  this.signal = requestInit?.signal || new AbortController().signal;
41
- this.headersSerializer = requestInit?.headersSerializer || getHeadersObj;
41
+ this.headersSerializer = requestInit?.headersSerializer || defaultHeadersSerializer;
42
42
  this.url = url || '';
43
43
  const contentTypeInHeaders = this.headers.get('content-type');
44
44
  if (!contentTypeInHeaders) {
package/esm/fetch.js CHANGED
@@ -7,6 +7,7 @@ import { PonyfillHeaders } from './Headers.js';
7
7
  import { PonyfillRequest } from './Request.js';
8
8
  import { PonyfillResponse } from './Response.js';
9
9
  import { PonyfillURL } from './URL.js';
10
+ import { defaultHeadersSerializer } from './utils.js';
10
11
  function getResponseForFile(url) {
11
12
  const path = fileURLToPath(url);
12
13
  const readable = createReadStream(path);
@@ -53,13 +54,10 @@ export async function fetchPonyfill(info, init) {
53
54
  ? fetchRequest.body
54
55
  : Readable.from(fetchRequest.body)
55
56
  : null);
56
- const curlyHeaders = [];
57
+ const headersSerializer = fetchRequest.headersSerializer || defaultHeadersSerializer;
57
58
  let size;
58
- fetchRequest.headers.forEach((value, key) => {
59
- curlyHeaders.push(`${key}: ${value}`);
60
- if (key === 'content-length') {
61
- size = Number(value);
62
- }
59
+ const curlyHeaders = headersSerializer(fetchRequest.headers, value => {
60
+ size = Number(value);
63
61
  });
64
62
  let easyNativeBinding;
65
63
  const curlyOptions = {
package/esm/utils.js CHANGED
@@ -11,3 +11,13 @@ export function getHeadersObj(headers) {
11
11
  export function uint8ArrayToArrayBuffer(uint8array) {
12
12
  return uint8array.buffer.slice(uint8array.byteOffset, uint8array.byteOffset + uint8array.byteLength);
13
13
  }
14
+ export function defaultHeadersSerializer(headers, onContentLength) {
15
+ const headerArray = [];
16
+ headers.forEach((value, key) => {
17
+ if (onContentLength && key === 'content-length') {
18
+ onContentLength(value);
19
+ }
20
+ headerArray.push(`${key}: ${value}`);
21
+ });
22
+ return headerArray;
23
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whatwg-node/node-fetch",
3
- "version": "0.5.0-alpha-20230531142534-b373f43",
3
+ "version": "0.5.0-alpha-20230531143520-481e7fa",
4
4
  "description": "Fetch API implementation for Node",
5
5
  "sideEffects": false,
6
6
  "dependencies": {
@@ -5,7 +5,7 @@ export type RequestPonyfillInit = PonyfillBodyOptions & Omit<RequestInit, 'body'
5
5
  headers?: PonyfillHeadersInit;
6
6
  headersSerializer?: HeadersSerializer;
7
7
  };
8
- type HeadersSerializer = (headers: Headers) => Record<string, string>;
8
+ type HeadersSerializer = (headers: Headers, onContentLength?: (contentLength: string) => void) => string[];
9
9
  export declare class PonyfillRequest<TJSON = any> extends PonyfillBody<TJSON> implements Request {
10
10
  constructor(input: RequestInfo | URL, options?: RequestPonyfillInit);
11
11
  headersSerializer: HeadersSerializer;
@@ -5,7 +5,7 @@ export type RequestPonyfillInit = PonyfillBodyOptions & Omit<RequestInit, 'body'
5
5
  headers?: PonyfillHeadersInit;
6
6
  headersSerializer?: HeadersSerializer;
7
7
  };
8
- type HeadersSerializer = (headers: Headers) => Record<string, string>;
8
+ type HeadersSerializer = (headers: Headers, onContentLength?: (contentLength: string) => void) => string[];
9
9
  export declare class PonyfillRequest<TJSON = any> extends PonyfillBody<TJSON> implements Request {
10
10
  constructor(input: RequestInfo | URL, options?: RequestPonyfillInit);
11
11
  headersSerializer: HeadersSerializer;
@@ -1,2 +1,3 @@
1
1
  export declare function getHeadersObj(headers: Headers): Record<string, string>;
2
2
  export declare function uint8ArrayToArrayBuffer(uint8array: Uint8Array): ArrayBuffer;
3
+ export declare function defaultHeadersSerializer(headers: Headers, onContentLength?: (value: string) => void): string[];
@@ -1,2 +1,3 @@
1
1
  export declare function getHeadersObj(headers: Headers): Record<string, string>;
2
2
  export declare function uint8ArrayToArrayBuffer(uint8array: Uint8Array): ArrayBuffer;
3
+ export declare function defaultHeadersSerializer(headers: Headers, onContentLength?: (value: string) => void): string[];