urllib 4.6.2 → 4.6.4

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.
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FormData = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
8
  const form_data_1 = __importDefault(require("form-data"));
9
+ // eslint-disable-next-line
10
+ const NON_ASCII_RE = /[^\x00-\x7F]/i;
9
11
  class FormData extends form_data_1.default {
10
12
  _getContentDisposition(value, options) {
11
13
  // support non-ascii filename
@@ -29,10 +31,13 @@ class FormData extends form_data_1.default {
29
31
  if (filename) {
30
32
  // https://datatracker.ietf.org/doc/html/rfc6266#section-4.1
31
33
  // support non-ascii filename
32
- contentDisposition = 'filename="' + filename + '"; filename*=UTF-8\'\'' + encodeURIComponent(filename);
34
+ contentDisposition = 'filename="' + filename + '"';
35
+ if (NON_ASCII_RE.test(filename)) {
36
+ contentDisposition += '; filename*=UTF-8\'\'' + encodeURIComponent(filename);
37
+ }
33
38
  }
34
39
  return contentDisposition;
35
40
  }
36
41
  }
37
42
  exports.FormData = FormData;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRm9ybURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLDBEQUFrQztBQUVsQyxNQUFhLFFBQVMsU0FBUSxtQkFBUztJQUNyQyxzQkFBc0IsQ0FBQyxLQUFVLEVBQUUsT0FBWTtRQUM3Qyw2QkFBNkI7UUFDN0Isa0RBQWtEO1FBQ2xELElBQUksUUFBUSxDQUFDO1FBQ2IsSUFBSSxrQkFBa0IsQ0FBQztRQUV2QixJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN6QyxxQ0FBcUM7WUFDckMsUUFBUSxHQUFHLG1CQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEQsa0NBQWtDO1lBQ2xDLGlEQUFpRDtZQUNqRCw4Q0FBOEM7WUFDOUMsUUFBUSxHQUFHLG1CQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekUsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDakUsdUJBQXVCO1lBQ3ZCLFFBQVEsR0FBRyxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYiw0REFBNEQ7WUFDNUQsNkJBQTZCO1lBQzdCLGtCQUFrQixHQUFHLFlBQVksR0FBRyxRQUFRLEdBQUcsd0JBQXdCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekcsQ0FBQztRQUVELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBNUJELDRCQTRCQyJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRm9ybURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLDBEQUFrQztBQUVsQywyQkFBMkI7QUFDM0IsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDO0FBRXJDLE1BQWEsUUFBUyxTQUFRLG1CQUFTO0lBQ3JDLHNCQUFzQixDQUFDLEtBQVUsRUFBRSxPQUFZO1FBQzdDLDZCQUE2QjtRQUM3QixrREFBa0Q7UUFDbEQsSUFBSSxRQUFRLENBQUM7UUFDYixJQUFJLGtCQUFrQixDQUFDO1FBRXZCLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLHFDQUFxQztZQUNyQyxRQUFRLEdBQUcsbUJBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEUsQ0FBQzthQUFNLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4RCxrQ0FBa0M7WUFDbEMsaURBQWlEO1lBQ2pELDhDQUE4QztZQUM5QyxRQUFRLEdBQUcsbUJBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNqRSx1QkFBdUI7WUFDdkIsUUFBUSxHQUFHLG1CQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRUQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLDREQUE0RDtZQUM1RCw2QkFBNkI7WUFDN0Isa0JBQWtCLEdBQUcsWUFBWSxHQUFHLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDbkQsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLGtCQUFrQixJQUFJLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9FLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUEvQkQsNEJBK0JDIn0=
@@ -36,7 +36,7 @@ function noop() {
36
36
  // noop
37
37
  }
38
38
  const debug = (0, node_util_1.debuglog)('urllib:HttpClient');
39
- exports.VERSION = '4.6.2';
39
+ exports.VERSION = '4.6.4';
40
40
  // 'node-urllib/4.0.0 Node.js/18.19.0 (darwin; x64)'
41
41
  exports.HEADER_USER_AGENT = `node-urllib/${exports.VERSION} Node.js/${process.version.substring(1)} (${process.platform}; ${process.arch})`;
42
42
  function getFileName(stream) {
@@ -11,6 +11,7 @@ export { SocketInfo, Timing, RawResponseWithMeta, HttpClientResponse, } from './
11
11
  export { IncomingHttpHeaders, } from './IncomingHttpHeaders.js';
12
12
  export * from './HttpClientError.js';
13
13
  export { FetchFactory, fetch } from './fetch.js';
14
+ export { FormData as WebFormData } from './FormData.js';
14
15
  declare const _default: {
15
16
  request: typeof request;
16
17
  curl: typeof curl;
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.FetchFactory = exports.USER_AGENT = exports.HttpClient2 = exports.HttpClient = exports.FormData = exports.Headers = exports.Response = exports.Request = exports.getGlobalDispatcher = exports.setGlobalDispatcher = exports.Dispatcher = exports.Agent = exports.ProxyAgent = exports.MockAgent = void 0;
17
+ exports.WebFormData = exports.FetchFactory = exports.USER_AGENT = exports.HttpClient2 = exports.HttpClient = exports.FormData = exports.Headers = exports.Response = exports.Request = exports.getGlobalDispatcher = exports.setGlobalDispatcher = exports.Dispatcher = exports.Agent = exports.ProxyAgent = exports.MockAgent = void 0;
18
18
  exports.getDefaultHttpClient = getDefaultHttpClient;
19
19
  exports.request = request;
20
20
  exports.curl = curl;
@@ -71,9 +71,11 @@ __exportStar(require("./HttpClientError.js"), exports);
71
71
  var fetch_js_1 = require("./fetch.js");
72
72
  Object.defineProperty(exports, "FetchFactory", { enumerable: true, get: function () { return fetch_js_1.FetchFactory; } });
73
73
  Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return fetch_js_1.fetch; } });
74
+ var FormData_js_1 = require("./FormData.js");
75
+ Object.defineProperty(exports, "WebFormData", { enumerable: true, get: function () { return FormData_js_1.FormData; } });
74
76
  exports.default = {
75
77
  request,
76
78
  curl,
77
79
  USER_AGENT: HttpClient_js_1.HEADER_USER_AGENT,
78
80
  };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxvREFLQztBQUVELDBCQWFDO0FBT0Qsb0JBRUM7QUF4Q0QsK0JBQTJCO0FBQzNCLHlDQUE0QztBQUU1QyxJQUFBLHlCQUFjLEdBQUUsQ0FBQztBQUVqQixtREFBZ0U7QUFHaEUsSUFBSSxVQUFzQixDQUFDO0FBQzNCLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxVQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFNUMsU0FBZ0Isb0JBQW9CO0lBQ2xDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixVQUFVLEdBQUcsSUFBSSwwQkFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFTSxLQUFLLFVBQVUsT0FBTyxDQUFVLEdBQWUsRUFBRSxPQUF3QjtJQUM5RSxJQUFJLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLHNCQUFzQixHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBYSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDNUIsc0JBQXNCLEdBQUcsSUFBSSwwQkFBVSxDQUFDO2dCQUN0QyxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRTthQUM1QyxDQUFDLENBQUM7WUFDSCx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxPQUFPLE1BQU0sc0JBQXNCLENBQUMsT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxNQUFNLG9CQUFvQixFQUFFLENBQUMsT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsMkRBQTJEO0FBQzNELFFBQVE7QUFDUixvQ0FBb0M7QUFDcEMsb0JBQW9CO0FBQ3BCLE1BQU07QUFDQyxLQUFLLFVBQVUsSUFBSSxDQUFVLEdBQWUsRUFBRSxPQUF3QjtJQUMzRSxPQUFPLE1BQU0sT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsaUNBTWdCO0FBTGQsbUdBQUEsU0FBUyxPQUFBO0FBQUUsb0dBQUEsVUFBVSxPQUFBO0FBQUUsK0ZBQUEsS0FBSyxPQUFBO0FBQUUsb0dBQUEsVUFBVSxPQUFBO0FBQ3hDLDZHQUFBLG1CQUFtQixPQUFBO0FBQUUsNkdBQUEsbUJBQW1CLE9BQUE7QUFDeEMsaUdBQUEsT0FBTyxPQUFBO0FBQ1Asa0dBQUEsUUFBUSxPQUFBO0FBQ1IsaUdBQUEsT0FBTyxPQUFBO0FBQUUsa0dBQUEsUUFBUSxPQUFBO0FBRW5CLDJEQUEyRDtBQUMzRCxpREFHeUI7QUFGdkIsMkdBQUEsVUFBVSxPQUFBO0FBQUUsNEdBQUEsVUFBVSxPQUFlO0FBQUUsMkdBQUEsaUJBQWlCLE9BQWM7QUFpQnhFLHVEQUFxQztBQUNyQyx1Q0FBaUQ7QUFBeEMsd0dBQUEsWUFBWSxPQUFBO0FBQUUsaUdBQUEsS0FBSyxPQUFBO0FBRTVCLGtCQUFlO0lBQ2IsT0FBTztJQUNQLElBQUk7SUFDSixVQUFVLEVBQUUsaUNBQWlCO0NBQzlCLENBQUMifQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxvREFLQztBQUVELDBCQWFDO0FBT0Qsb0JBRUM7QUF4Q0QsK0JBQTJCO0FBQzNCLHlDQUE0QztBQUU1QyxJQUFBLHlCQUFjLEdBQUUsQ0FBQztBQUVqQixtREFBZ0U7QUFHaEUsSUFBSSxVQUFzQixDQUFDO0FBQzNCLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxVQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFNUMsU0FBZ0Isb0JBQW9CO0lBQ2xDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixVQUFVLEdBQUcsSUFBSSwwQkFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFTSxLQUFLLFVBQVUsT0FBTyxDQUFVLEdBQWUsRUFBRSxPQUF3QjtJQUM5RSxJQUFJLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLHNCQUFzQixHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBYSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDNUIsc0JBQXNCLEdBQUcsSUFBSSwwQkFBVSxDQUFDO2dCQUN0QyxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRTthQUM1QyxDQUFDLENBQUM7WUFDSCx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxPQUFPLE1BQU0sc0JBQXNCLENBQUMsT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxNQUFNLG9CQUFvQixFQUFFLENBQUMsT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsMkRBQTJEO0FBQzNELFFBQVE7QUFDUixvQ0FBb0M7QUFDcEMsb0JBQW9CO0FBQ3BCLE1BQU07QUFDQyxLQUFLLFVBQVUsSUFBSSxDQUFVLEdBQWUsRUFBRSxPQUF3QjtJQUMzRSxPQUFPLE1BQU0sT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsaUNBTWdCO0FBTGQsbUdBQUEsU0FBUyxPQUFBO0FBQUUsb0dBQUEsVUFBVSxPQUFBO0FBQUUsK0ZBQUEsS0FBSyxPQUFBO0FBQUUsb0dBQUEsVUFBVSxPQUFBO0FBQ3hDLDZHQUFBLG1CQUFtQixPQUFBO0FBQUUsNkdBQUEsbUJBQW1CLE9BQUE7QUFDeEMsaUdBQUEsT0FBTyxPQUFBO0FBQ1Asa0dBQUEsUUFBUSxPQUFBO0FBQ1IsaUdBQUEsT0FBTyxPQUFBO0FBQUUsa0dBQUEsUUFBUSxPQUFBO0FBRW5CLDJEQUEyRDtBQUMzRCxpREFHeUI7QUFGdkIsMkdBQUEsVUFBVSxPQUFBO0FBQUUsNEdBQUEsVUFBVSxPQUFlO0FBQUUsMkdBQUEsaUJBQWlCLE9BQWM7QUFpQnhFLHVEQUFxQztBQUNyQyx1Q0FBaUQ7QUFBeEMsd0dBQUEsWUFBWSxPQUFBO0FBQUUsaUdBQUEsS0FBSyxPQUFBO0FBQzVCLDZDQUF3RDtBQUEvQywwR0FBQSxRQUFRLE9BQWU7QUFFaEMsa0JBQWU7SUFDYixPQUFPO0lBQ1AsSUFBSTtJQUNKLFVBQVUsRUFBRSxpQ0FBaUI7Q0FDOUIsQ0FBQyJ9
@@ -1,5 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import _FormData from 'form-data';
3
+ // eslint-disable-next-line
4
+ const NON_ASCII_RE = /[^\x00-\x7F]/i;
3
5
  export class FormData extends _FormData {
4
6
  _getContentDisposition(value, options) {
5
7
  // support non-ascii filename
@@ -23,9 +25,12 @@ export class FormData extends _FormData {
23
25
  if (filename) {
24
26
  // https://datatracker.ietf.org/doc/html/rfc6266#section-4.1
25
27
  // support non-ascii filename
26
- contentDisposition = 'filename="' + filename + '"; filename*=UTF-8\'\'' + encodeURIComponent(filename);
28
+ contentDisposition = 'filename="' + filename + '"';
29
+ if (NON_ASCII_RE.test(filename)) {
30
+ contentDisposition += '; filename*=UTF-8\'\'' + encodeURIComponent(filename);
31
+ }
27
32
  }
28
33
  return contentDisposition;
29
34
  }
30
35
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRm9ybURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUVsQyxNQUFNLE9BQU8sUUFBUyxTQUFRLFNBQVM7SUFDckMsc0JBQXNCLENBQUMsS0FBVSxFQUFFLE9BQVk7UUFDN0MsNkJBQTZCO1FBQzdCLGtEQUFrRDtRQUNsRCxJQUFJLFFBQVEsQ0FBQztRQUNiLElBQUksa0JBQWtCLENBQUM7UUFFdkIsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDekMscUNBQXFDO1lBQ3JDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEQsa0NBQWtDO1lBQ2xDLGlEQUFpRDtZQUNqRCw4Q0FBOEM7WUFDOUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNqRSx1QkFBdUI7WUFDdkIsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsNERBQTREO1lBQzVELDZCQUE2QjtZQUM3QixrQkFBa0IsR0FBRyxZQUFZLEdBQUcsUUFBUSxHQUFHLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7UUFFRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7Q0FDRiJ9
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRm9ybURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUVsQywyQkFBMkI7QUFDM0IsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxRQUFTLFNBQVEsU0FBUztJQUNyQyxzQkFBc0IsQ0FBQyxLQUFVLEVBQUUsT0FBWTtRQUM3Qyw2QkFBNkI7UUFDN0Isa0RBQWtEO1FBQ2xELElBQUksUUFBUSxDQUFDO1FBQ2IsSUFBSSxrQkFBa0IsQ0FBQztRQUV2QixJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN6QyxxQ0FBcUM7WUFDckMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEUsQ0FBQzthQUFNLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4RCxrQ0FBa0M7WUFDbEMsaURBQWlEO1lBQ2pELDhDQUE4QztZQUM5QyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ2pFLHVCQUF1QjtZQUN2QixRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYiw0REFBNEQ7WUFDNUQsNkJBQTZCO1lBQzdCLGtCQUFrQixHQUFHLFlBQVksR0FBRyxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ25ELElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxrQkFBa0IsSUFBSSx1QkFBdUIsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRSxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztDQUNGIn0=
@@ -30,7 +30,7 @@ function noop() {
30
30
  // noop
31
31
  }
32
32
  const debug = debuglog('urllib:HttpClient');
33
- export const VERSION = '4.6.2';
33
+ export const VERSION = '4.6.4';
34
34
  // 'node-urllib/4.0.0 Node.js/18.19.0 (darwin; x64)'
35
35
  export const HEADER_USER_AGENT = `node-urllib/${VERSION} Node.js/${process.version.substring(1)} (${process.platform}; ${process.arch})`;
36
36
  function getFileName(stream) {
@@ -11,6 +11,7 @@ export { SocketInfo, Timing, RawResponseWithMeta, HttpClientResponse, } from './
11
11
  export { IncomingHttpHeaders, } from './IncomingHttpHeaders.js';
12
12
  export * from './HttpClientError.js';
13
13
  export { FetchFactory, fetch } from './fetch.js';
14
+ export { FormData as WebFormData } from './FormData.js';
14
15
  declare const _default: {
15
16
  request: typeof request;
16
17
  curl: typeof curl;
package/dist/esm/index.js CHANGED
@@ -36,9 +36,10 @@ export { MockAgent, ProxyAgent, Agent, Dispatcher, setGlobalDispatcher, getGloba
36
36
  export { HttpClient, HttpClient as HttpClient2, HEADER_USER_AGENT as USER_AGENT, } from './HttpClient.js';
37
37
  export * from './HttpClientError.js';
38
38
  export { FetchFactory, fetch } from './fetch.js';
39
+ export { FormData as WebFormData } from './FormData.js';
39
40
  export default {
40
41
  request,
41
42
  curl,
42
43
  USER_AGENT: HEADER_USER_AGENT,
43
44
  };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLGNBQWMsRUFBRSxDQUFDO0FBRWpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdoRSxJQUFJLFVBQXNCLENBQUM7QUFDM0IsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1QyxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFVLEdBQWUsRUFBRSxPQUF3QjtJQUM5RSxJQUFJLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLHNCQUFzQixHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBYSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDNUIsc0JBQXNCLEdBQUcsSUFBSSxVQUFVLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFO2FBQzVDLENBQUMsQ0FBQztZQUNILHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU8sTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCwyREFBMkQ7QUFDM0QsUUFBUTtBQUNSLG9DQUFvQztBQUNwQyxvQkFBb0I7QUFDcEIsTUFBTTtBQUNOLE1BQU0sQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUFVLEdBQWUsRUFBRSxPQUF3QjtJQUMzRSxPQUFPLE1BQU0sT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxFQUNMLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFDeEMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQ3hDLE9BQU8sRUFDUCxRQUFRLEVBQ1IsT0FBTyxFQUFFLFFBQVEsR0FDbEIsTUFBTSxRQUFRLENBQUM7QUFDaEIsMkRBQTJEO0FBQzNELE9BQU8sRUFDTCxVQUFVLEVBQUUsVUFBVSxJQUFJLFdBQVcsRUFBRSxpQkFBaUIsSUFBSSxVQUFVLEdBRXZFLE1BQU0saUJBQWlCLENBQUM7QUFlekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRCxlQUFlO0lBQ2IsT0FBTztJQUNQLElBQUk7SUFDSixVQUFVLEVBQUUsaUJBQWlCO0NBQzlCLENBQUMifQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLGNBQWMsRUFBRSxDQUFDO0FBRWpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdoRSxJQUFJLFVBQXNCLENBQUM7QUFDM0IsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1QyxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFVLEdBQWUsRUFBRSxPQUF3QjtJQUM5RSxJQUFJLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLHNCQUFzQixHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBYSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDNUIsc0JBQXNCLEdBQUcsSUFBSSxVQUFVLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFO2FBQzVDLENBQUMsQ0FBQztZQUNILHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU8sTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCwyREFBMkQ7QUFDM0QsUUFBUTtBQUNSLG9DQUFvQztBQUNwQyxvQkFBb0I7QUFDcEIsTUFBTTtBQUNOLE1BQU0sQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUFVLEdBQWUsRUFBRSxPQUF3QjtJQUMzRSxPQUFPLE1BQU0sT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxFQUNMLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFDeEMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQ3hDLE9BQU8sRUFDUCxRQUFRLEVBQ1IsT0FBTyxFQUFFLFFBQVEsR0FDbEIsTUFBTSxRQUFRLENBQUM7QUFDaEIsMkRBQTJEO0FBQzNELE9BQU8sRUFDTCxVQUFVLEVBQUUsVUFBVSxJQUFJLFdBQVcsRUFBRSxpQkFBaUIsSUFBSSxVQUFVLEdBRXZFLE1BQU0saUJBQWlCLENBQUM7QUFlekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxJQUFJLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxlQUFlO0lBQ2IsT0FBTztJQUNQLElBQUk7SUFDSixVQUFVLEVBQUUsaUJBQWlCO0NBQzlCLENBQUMifQ==
package/dist/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "urllib",
3
- "version": "4.6.2"
3
+ "version": "4.6.4"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "urllib",
3
- "version": "4.6.2",
3
+ "version": "4.6.4",
4
4
  "publishConfig": {
5
5
  "tag": "latest"
6
6
  },
package/src/FormData.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import path from 'node:path';
2
2
  import _FormData from 'form-data';
3
3
 
4
+ // eslint-disable-next-line
5
+ const NON_ASCII_RE = /[^\x00-\x7F]/i;
6
+
4
7
  export class FormData extends _FormData {
5
8
  _getContentDisposition(value: any, options: any) {
6
9
  // support non-ascii filename
@@ -24,7 +27,10 @@ export class FormData extends _FormData {
24
27
  if (filename) {
25
28
  // https://datatracker.ietf.org/doc/html/rfc6266#section-4.1
26
29
  // support non-ascii filename
27
- contentDisposition = 'filename="' + filename + '"; filename*=UTF-8\'\'' + encodeURIComponent(filename);
30
+ contentDisposition = 'filename="' + filename + '"';
31
+ if (NON_ASCII_RE.test(filename)) {
32
+ contentDisposition += '; filename*=UTF-8\'\'' + encodeURIComponent(filename);
33
+ }
28
34
  }
29
35
 
30
36
  return contentDisposition;
package/src/index.ts CHANGED
@@ -68,6 +68,7 @@ export {
68
68
  } from './IncomingHttpHeaders.js';
69
69
  export * from './HttpClientError.js';
70
70
  export { FetchFactory, fetch } from './fetch.js';
71
+ export { FormData as WebFormData } from './FormData.js';
71
72
 
72
73
  export default {
73
74
  request,