urllib 3.24.0 → 3.25.0

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.
@@ -68,7 +68,7 @@ class BlobFromStream {
68
68
  return 'Blob';
69
69
  }
70
70
  }
71
- exports.HEADER_USER_AGENT = (0, default_user_agent_1.default)('node-urllib', '3.24.0');
71
+ exports.HEADER_USER_AGENT = (0, default_user_agent_1.default)('node-urllib', '3.25.0');
72
72
  function getFileName(stream) {
73
73
  const filePath = stream.path;
74
74
  if (filePath) {
@@ -356,7 +356,8 @@ class HttpClient extends node_events_1.EventEmitter {
356
356
  }
357
357
  else if (typeof args.files === 'object') {
358
358
  for (const field in args.files) {
359
- uploadFiles.push([field, args.files[field]]);
359
+ // set custom fileName
360
+ uploadFiles.push([field, args.files[field], field]);
360
361
  }
361
362
  }
362
363
  // set normal fields first
@@ -365,7 +366,7 @@ class HttpClient extends node_events_1.EventEmitter {
365
366
  formData.append(field, args.data[field]);
366
367
  }
367
368
  }
368
- for (const [index, [field, file]] of uploadFiles.entries()) {
369
+ for (const [index, [field, file, customFileName]] of uploadFiles.entries()) {
369
370
  if (typeof file === 'string') {
370
371
  // FIXME: support non-ascii filename
371
372
  // const fileName = encodeURIComponent(basename(file));
@@ -375,10 +376,10 @@ class HttpClient extends node_events_1.EventEmitter {
375
376
  formData.append(field, new BlobFromStream(fileReadable, mime_types_1.default.lookup(fileName) || ''), fileName);
376
377
  }
377
378
  else if (Buffer.isBuffer(file)) {
378
- formData.append(field, new node_buffer_1.Blob([file]), `bufferfile${index}`);
379
+ formData.append(field, new node_buffer_1.Blob([file]), customFileName || `bufferfile${index}`);
379
380
  }
380
381
  else if (file instanceof node_stream_1.Readable || (0, utils_js_1.isReadable)(file)) {
381
- const fileName = getFileName(file) || `streamfile${index}`;
382
+ const fileName = getFileName(file) || customFileName || `streamfile${index}`;
382
383
  formData.append(field, new BlobFromStream(file, mime_types_1.default.lookup(fileName) || ''), fileName);
383
384
  isStreamingRequest = true;
384
385
  }
@@ -62,7 +62,7 @@ class BlobFromStream {
62
62
  return 'Blob';
63
63
  }
64
64
  }
65
- export const HEADER_USER_AGENT = createUserAgent('node-urllib', '3.24.0');
65
+ export const HEADER_USER_AGENT = createUserAgent('node-urllib', '3.25.0');
66
66
  function getFileName(stream) {
67
67
  const filePath = stream.path;
68
68
  if (filePath) {
@@ -350,7 +350,8 @@ export class HttpClient extends EventEmitter {
350
350
  }
351
351
  else if (typeof args.files === 'object') {
352
352
  for (const field in args.files) {
353
- uploadFiles.push([field, args.files[field]]);
353
+ // set custom fileName
354
+ uploadFiles.push([field, args.files[field], field]);
354
355
  }
355
356
  }
356
357
  // set normal fields first
@@ -359,7 +360,7 @@ export class HttpClient extends EventEmitter {
359
360
  formData.append(field, args.data[field]);
360
361
  }
361
362
  }
362
- for (const [index, [field, file]] of uploadFiles.entries()) {
363
+ for (const [index, [field, file, customFileName]] of uploadFiles.entries()) {
363
364
  if (typeof file === 'string') {
364
365
  // FIXME: support non-ascii filename
365
366
  // const fileName = encodeURIComponent(basename(file));
@@ -369,10 +370,10 @@ export class HttpClient extends EventEmitter {
369
370
  formData.append(field, new BlobFromStream(fileReadable, mime.lookup(fileName) || ''), fileName);
370
371
  }
371
372
  else if (Buffer.isBuffer(file)) {
372
- formData.append(field, new Blob([file]), `bufferfile${index}`);
373
+ formData.append(field, new Blob([file]), customFileName || `bufferfile${index}`);
373
374
  }
374
375
  else if (file instanceof Readable || isReadable(file)) {
375
- const fileName = getFileName(file) || `streamfile${index}`;
376
+ const fileName = getFileName(file) || customFileName || `streamfile${index}`;
376
377
  formData.append(field, new BlobFromStream(file, mime.lookup(fileName) || ''), fileName);
377
378
  isStreamingRequest = true;
378
379
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "urllib",
3
- "version": "3.24.0",
3
+ "version": "3.25.0",
4
4
  "publishConfig": {
5
5
  "tag": "latest"
6
6
  },
package/src/HttpClient.ts CHANGED
@@ -440,7 +440,7 @@ export class HttpClient extends EventEmitter {
440
440
  requestOptions.method = 'POST';
441
441
  }
442
442
  const formData = new FormData();
443
- const uploadFiles: [string, string | Readable | Buffer][] = [];
443
+ const uploadFiles: [string, string | Readable | Buffer, string?][] = [];
444
444
  if (Array.isArray(args.files)) {
445
445
  for (const [ index, file ] of args.files.entries()) {
446
446
  const field = index === 0 ? 'file' : `file${index}`;
@@ -452,7 +452,8 @@ export class HttpClient extends EventEmitter {
452
452
  uploadFiles.push([ 'file', args.files ]);
453
453
  } else if (typeof args.files === 'object') {
454
454
  for (const field in args.files) {
455
- uploadFiles.push([ field, args.files[field] ]);
455
+ // set custom fileName
456
+ uploadFiles.push([ field, args.files[field], field ]);
456
457
  }
457
458
  }
458
459
  // set normal fields first
@@ -461,7 +462,7 @@ export class HttpClient extends EventEmitter {
461
462
  formData.append(field, args.data[field]);
462
463
  }
463
464
  }
464
- for (const [ index, [ field, file ]] of uploadFiles.entries()) {
465
+ for (const [ index, [ field, file, customFileName ]] of uploadFiles.entries()) {
465
466
  if (typeof file === 'string') {
466
467
  // FIXME: support non-ascii filename
467
468
  // const fileName = encodeURIComponent(basename(file));
@@ -470,9 +471,9 @@ export class HttpClient extends EventEmitter {
470
471
  const fileReadable = createReadStream(file);
471
472
  formData.append(field, new BlobFromStream(fileReadable, mime.lookup(fileName) || ''), fileName);
472
473
  } else if (Buffer.isBuffer(file)) {
473
- formData.append(field, new Blob([ file ]), `bufferfile${index}`);
474
+ formData.append(field, new Blob([ file ]), customFileName || `bufferfile${index}`);
474
475
  } else if (file instanceof Readable || isReadable(file as any)) {
475
- const fileName = getFileName(file) || `streamfile${index}`;
476
+ const fileName = getFileName(file) || customFileName || `streamfile${index}`;
476
477
  formData.append(field, new BlobFromStream(file, mime.lookup(fileName) || ''), fileName);
477
478
  isStreamingRequest = true;
478
479
  }