rahad-all-downloader 2.1.1 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. package/.cache/typescript/5.4/node_modules/.package-lock.json +110 -0
  2. package/.cache/typescript/5.4/node_modules/@types/caseless/LICENSE +21 -0
  3. package/.cache/typescript/5.4/node_modules/@types/caseless/README.md +48 -0
  4. package/.cache/typescript/5.4/node_modules/@types/caseless/index.d.ts +29 -0
  5. package/.cache/typescript/5.4/node_modules/@types/caseless/package.json +35 -0
  6. package/.cache/typescript/5.4/node_modules/@types/node-fetch/LICENSE +21 -0
  7. package/.cache/typescript/5.4/node_modules/@types/node-fetch/README.md +15 -0
  8. package/.cache/typescript/5.4/node_modules/@types/node-fetch/externals.d.ts +32 -0
  9. package/.cache/typescript/5.4/node_modules/@types/node-fetch/index.d.ts +238 -0
  10. package/.cache/typescript/5.4/node_modules/@types/node-fetch/package.json +83 -0
  11. package/.cache/typescript/5.4/node_modules/@types/request/LICENSE +21 -0
  12. package/.cache/typescript/5.4/node_modules/@types/request/README.md +15 -0
  13. package/.cache/typescript/5.4/node_modules/@types/request/index.d.ts +395 -0
  14. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/License +19 -0
  15. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md +350 -0
  16. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md.bak +350 -0
  17. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/index.d.ts +51 -0
  18. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/browser.js +2 -0
  19. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/form_data.js +483 -0
  20. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/populate.js +10 -0
  21. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/package.json +68 -0
  22. package/.cache/typescript/5.4/node_modules/@types/request/package.json +70 -0
  23. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/LICENSE +21 -0
  24. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/README.md +15 -0
  25. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/index.d.ts +321 -0
  26. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/package.json +35 -0
  27. package/.cache/typescript/5.4/node_modules/asynckit/LICENSE +21 -0
  28. package/.cache/typescript/5.4/node_modules/asynckit/README.md +233 -0
  29. package/.cache/typescript/5.4/node_modules/asynckit/bench.js +76 -0
  30. package/.cache/typescript/5.4/node_modules/asynckit/index.js +6 -0
  31. package/.cache/typescript/5.4/node_modules/asynckit/lib/abort.js +29 -0
  32. package/.cache/typescript/5.4/node_modules/asynckit/lib/async.js +34 -0
  33. package/.cache/typescript/5.4/node_modules/asynckit/lib/defer.js +26 -0
  34. package/.cache/typescript/5.4/node_modules/asynckit/lib/iterate.js +75 -0
  35. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  36. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_parallel.js +25 -0
  37. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial.js +25 -0
  38. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  39. package/.cache/typescript/5.4/node_modules/asynckit/lib/state.js +37 -0
  40. package/.cache/typescript/5.4/node_modules/asynckit/lib/streamify.js +141 -0
  41. package/.cache/typescript/5.4/node_modules/asynckit/lib/terminator.js +29 -0
  42. package/.cache/typescript/5.4/node_modules/asynckit/package.json +63 -0
  43. package/.cache/typescript/5.4/node_modules/asynckit/parallel.js +43 -0
  44. package/.cache/typescript/5.4/node_modules/asynckit/serial.js +17 -0
  45. package/.cache/typescript/5.4/node_modules/asynckit/serialOrdered.js +75 -0
  46. package/.cache/typescript/5.4/node_modules/asynckit/stream.js +21 -0
  47. package/.cache/typescript/5.4/node_modules/combined-stream/License +19 -0
  48. package/.cache/typescript/5.4/node_modules/combined-stream/Readme.md +138 -0
  49. package/.cache/typescript/5.4/node_modules/combined-stream/lib/combined_stream.js +208 -0
  50. package/.cache/typescript/5.4/node_modules/combined-stream/package.json +25 -0
  51. package/.cache/typescript/5.4/node_modules/combined-stream/yarn.lock +17 -0
  52. package/.cache/typescript/5.4/node_modules/delayed-stream/License +19 -0
  53. package/.cache/typescript/5.4/node_modules/delayed-stream/Makefile +7 -0
  54. package/.cache/typescript/5.4/node_modules/delayed-stream/Readme.md +141 -0
  55. package/.cache/typescript/5.4/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  56. package/.cache/typescript/5.4/node_modules/delayed-stream/package.json +27 -0
  57. package/.cache/typescript/5.4/node_modules/form-data/License +19 -0
  58. package/.cache/typescript/5.4/node_modules/form-data/README.md.bak +358 -0
  59. package/.cache/typescript/5.4/node_modules/form-data/Readme.md +358 -0
  60. package/.cache/typescript/5.4/node_modules/form-data/index.d.ts +62 -0
  61. package/.cache/typescript/5.4/node_modules/form-data/lib/browser.js +2 -0
  62. package/.cache/typescript/5.4/node_modules/form-data/lib/form_data.js +501 -0
  63. package/.cache/typescript/5.4/node_modules/form-data/lib/populate.js +10 -0
  64. package/.cache/typescript/5.4/node_modules/form-data/package.json +68 -0
  65. package/.cache/typescript/5.4/node_modules/mime-db/HISTORY.md +507 -0
  66. package/.cache/typescript/5.4/node_modules/mime-db/LICENSE +23 -0
  67. package/.cache/typescript/5.4/node_modules/mime-db/README.md +100 -0
  68. package/.cache/typescript/5.4/node_modules/mime-db/db.json +8519 -0
  69. package/.cache/typescript/5.4/node_modules/mime-db/index.js +12 -0
  70. package/.cache/typescript/5.4/node_modules/mime-db/package.json +60 -0
  71. package/.cache/typescript/5.4/node_modules/mime-types/HISTORY.md +397 -0
  72. package/.cache/typescript/5.4/node_modules/mime-types/LICENSE +23 -0
  73. package/.cache/typescript/5.4/node_modules/mime-types/README.md +113 -0
  74. package/.cache/typescript/5.4/node_modules/mime-types/index.js +188 -0
  75. package/.cache/typescript/5.4/node_modules/mime-types/package.json +44 -0
  76. package/.cache/typescript/5.4/package-lock.json +113 -1
  77. package/.cache/typescript/5.4/package.json +1 -1
  78. package/README.md +1 -1
  79. package/package.json +21 -2
@@ -0,0 +1,51 @@
1
+ // Definitions by: Carlos Ballesteros Velasco <https://github.com/soywiz>
2
+ // Leon Yu <https://github.com/leonyu>
3
+ // BendingBender <https://github.com/BendingBender>
4
+ // Maple Miao <https://github.com/mapleeit>
5
+
6
+ /// <reference types="node" />
7
+ import * as stream from 'stream';
8
+ import * as http from 'http';
9
+
10
+ export = FormData;
11
+
12
+ interface Options {
13
+ writable?: boolean;
14
+ readable?: boolean;
15
+ dataSize?: number;
16
+ maxDataSize?: number;
17
+ pauseStreams?: boolean;
18
+ }
19
+
20
+ declare class FormData extends stream.Readable {
21
+ constructor(options?: Options);
22
+ append(key: string, value: any, options?: FormData.AppendOptions | string): void;
23
+ getHeaders(): FormData.Headers;
24
+ submit(
25
+ params: string | FormData.SubmitOptions,
26
+ callback?: (error: Error | null, response: http.IncomingMessage) => void
27
+ ): http.ClientRequest;
28
+ getBuffer(): Buffer;
29
+ getBoundary(): string;
30
+ getLength(callback: (err: Error | null, length: number) => void): void;
31
+ getLengthSync(): number;
32
+ hasKnownLength(): boolean;
33
+ }
34
+
35
+ declare namespace FormData {
36
+ interface Headers {
37
+ [key: string]: any;
38
+ }
39
+
40
+ interface AppendOptions {
41
+ header?: string | Headers;
42
+ knownLength?: number;
43
+ filename?: string;
44
+ filepath?: string;
45
+ contentType?: string;
46
+ }
47
+
48
+ interface SubmitOptions extends http.RequestOptions {
49
+ protocol?: 'https:' | 'http:';
50
+ }
51
+ }
@@ -0,0 +1,2 @@
1
+ /* eslint-env browser */
2
+ module.exports = typeof self == 'object' ? self.FormData : window.FormData;
@@ -0,0 +1,483 @@
1
+ var CombinedStream = require('combined-stream');
2
+ var util = require('util');
3
+ var path = require('path');
4
+ var http = require('http');
5
+ var https = require('https');
6
+ var parseUrl = require('url').parse;
7
+ var fs = require('fs');
8
+ var mime = require('mime-types');
9
+ var asynckit = require('asynckit');
10
+ var populate = require('./populate.js');
11
+
12
+ // Public API
13
+ module.exports = FormData;
14
+
15
+ // make it a Stream
16
+ util.inherits(FormData, CombinedStream);
17
+
18
+ /**
19
+ * Create readable "multipart/form-data" streams.
20
+ * Can be used to submit forms
21
+ * and file uploads to other web applications.
22
+ *
23
+ * @constructor
24
+ * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream
25
+ */
26
+ function FormData(options) {
27
+ if (!(this instanceof FormData)) {
28
+ return new FormData();
29
+ }
30
+
31
+ this._overheadLength = 0;
32
+ this._valueLength = 0;
33
+ this._valuesToMeasure = [];
34
+
35
+ CombinedStream.call(this);
36
+
37
+ options = options || {};
38
+ for (var option in options) {
39
+ this[option] = options[option];
40
+ }
41
+ }
42
+
43
+ FormData.LINE_BREAK = '\r\n';
44
+ FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';
45
+
46
+ FormData.prototype.append = function(field, value, options) {
47
+
48
+ options = options || {};
49
+
50
+ // allow filename as single option
51
+ if (typeof options == 'string') {
52
+ options = {filename: options};
53
+ }
54
+
55
+ var append = CombinedStream.prototype.append.bind(this);
56
+
57
+ // all that streamy business can't handle numbers
58
+ if (typeof value == 'number') {
59
+ value = '' + value;
60
+ }
61
+
62
+ // https://github.com/felixge/node-form-data/issues/38
63
+ if (util.isArray(value)) {
64
+ // Please convert your array into string
65
+ // the way web server expects it
66
+ this._error(new Error('Arrays are not supported.'));
67
+ return;
68
+ }
69
+
70
+ var header = this._multiPartHeader(field, value, options);
71
+ var footer = this._multiPartFooter();
72
+
73
+ append(header);
74
+ append(value);
75
+ append(footer);
76
+
77
+ // pass along options.knownLength
78
+ this._trackLength(header, value, options);
79
+ };
80
+
81
+ FormData.prototype._trackLength = function(header, value, options) {
82
+ var valueLength = 0;
83
+
84
+ // used w/ getLengthSync(), when length is known.
85
+ // e.g. for streaming directly from a remote server,
86
+ // w/ a known file a size, and not wanting to wait for
87
+ // incoming file to finish to get its size.
88
+ if (options.knownLength != null) {
89
+ valueLength += +options.knownLength;
90
+ } else if (Buffer.isBuffer(value)) {
91
+ valueLength = value.length;
92
+ } else if (typeof value === 'string') {
93
+ valueLength = Buffer.byteLength(value);
94
+ }
95
+
96
+ this._valueLength += valueLength;
97
+
98
+ // @check why add CRLF? does this account for custom/multiple CRLFs?
99
+ this._overheadLength +=
100
+ Buffer.byteLength(header) +
101
+ FormData.LINE_BREAK.length;
102
+
103
+ // empty or either doesn't have path or not an http response
104
+ if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) )) {
105
+ return;
106
+ }
107
+
108
+ // no need to bother with the length
109
+ if (!options.knownLength) {
110
+ this._valuesToMeasure.push(value);
111
+ }
112
+ };
113
+
114
+ FormData.prototype._lengthRetriever = function(value, callback) {
115
+
116
+ if (value.hasOwnProperty('fd')) {
117
+
118
+ // take read range into a account
119
+ // `end` = Infinity –> read file till the end
120
+ //
121
+ // TODO: Looks like there is bug in Node fs.createReadStream
122
+ // it doesn't respect `end` options without `start` options
123
+ // Fix it when node fixes it.
124
+ // https://github.com/joyent/node/issues/7819
125
+ if (value.end != undefined && value.end != Infinity && value.start != undefined) {
126
+
127
+ // when end specified
128
+ // no need to calculate range
129
+ // inclusive, starts with 0
130
+ callback(null, value.end + 1 - (value.start ? value.start : 0));
131
+
132
+ // not that fast snoopy
133
+ } else {
134
+ // still need to fetch file size from fs
135
+ fs.stat(value.path, function(err, stat) {
136
+
137
+ var fileSize;
138
+
139
+ if (err) {
140
+ callback(err);
141
+ return;
142
+ }
143
+
144
+ // update final size based on the range options
145
+ fileSize = stat.size - (value.start ? value.start : 0);
146
+ callback(null, fileSize);
147
+ });
148
+ }
149
+
150
+ // or http response
151
+ } else if (value.hasOwnProperty('httpVersion')) {
152
+ callback(null, +value.headers['content-length']);
153
+
154
+ // or request stream http://github.com/mikeal/request
155
+ } else if (value.hasOwnProperty('httpModule')) {
156
+ // wait till response come back
157
+ value.on('response', function(response) {
158
+ value.pause();
159
+ callback(null, +response.headers['content-length']);
160
+ });
161
+ value.resume();
162
+
163
+ // something else
164
+ } else {
165
+ callback('Unknown stream');
166
+ }
167
+ };
168
+
169
+ FormData.prototype._multiPartHeader = function(field, value, options) {
170
+ // custom header specified (as string)?
171
+ // it becomes responsible for boundary
172
+ // (e.g. to handle extra CRLFs on .NET servers)
173
+ if (typeof options.header == 'string') {
174
+ return options.header;
175
+ }
176
+
177
+ var contentDisposition = this._getContentDisposition(value, options);
178
+ var contentType = this._getContentType(value, options);
179
+
180
+ var contents = '';
181
+ var headers = {
182
+ // add custom disposition as third element or keep it two elements if not
183
+ 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []),
184
+ // if no content type. allow it to be empty array
185
+ 'Content-Type': [].concat(contentType || [])
186
+ };
187
+
188
+ // allow custom headers.
189
+ if (typeof options.header == 'object') {
190
+ populate(headers, options.header);
191
+ }
192
+
193
+ var header;
194
+ for (var prop in headers) {
195
+ if (!headers.hasOwnProperty(prop)) continue;
196
+ header = headers[prop];
197
+
198
+ // skip nullish headers.
199
+ if (header == null) {
200
+ continue;
201
+ }
202
+
203
+ // convert all headers to arrays.
204
+ if (!Array.isArray(header)) {
205
+ header = [header];
206
+ }
207
+
208
+ // add non-empty headers.
209
+ if (header.length) {
210
+ contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;
211
+ }
212
+ }
213
+
214
+ return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;
215
+ };
216
+
217
+ FormData.prototype._getContentDisposition = function(value, options) {
218
+
219
+ var filename
220
+ , contentDisposition
221
+ ;
222
+
223
+ if (typeof options.filepath === 'string') {
224
+ // custom filepath for relative paths
225
+ filename = path.normalize(options.filepath).replace(/\\/g, '/');
226
+ } else if (options.filename || value.name || value.path) {
227
+ // custom filename take precedence
228
+ // formidable and the browser add a name property
229
+ // fs- and request- streams have path property
230
+ filename = path.basename(options.filename || value.name || value.path);
231
+ } else if (value.readable && value.hasOwnProperty('httpVersion')) {
232
+ // or try http response
233
+ filename = path.basename(value.client._httpMessage.path || '');
234
+ }
235
+
236
+ if (filename) {
237
+ contentDisposition = 'filename="' + filename + '"';
238
+ }
239
+
240
+ return contentDisposition;
241
+ };
242
+
243
+ FormData.prototype._getContentType = function(value, options) {
244
+
245
+ // use custom content-type above all
246
+ var contentType = options.contentType;
247
+
248
+ // or try `name` from formidable, browser
249
+ if (!contentType && value.name) {
250
+ contentType = mime.lookup(value.name);
251
+ }
252
+
253
+ // or try `path` from fs-, request- streams
254
+ if (!contentType && value.path) {
255
+ contentType = mime.lookup(value.path);
256
+ }
257
+
258
+ // or if it's http-reponse
259
+ if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {
260
+ contentType = value.headers['content-type'];
261
+ }
262
+
263
+ // or guess it from the filepath or filename
264
+ if (!contentType && (options.filepath || options.filename)) {
265
+ contentType = mime.lookup(options.filepath || options.filename);
266
+ }
267
+
268
+ // fallback to the default content type if `value` is not simple value
269
+ if (!contentType && typeof value == 'object') {
270
+ contentType = FormData.DEFAULT_CONTENT_TYPE;
271
+ }
272
+
273
+ return contentType;
274
+ };
275
+
276
+ FormData.prototype._multiPartFooter = function() {
277
+ return function(next) {
278
+ var footer = FormData.LINE_BREAK;
279
+
280
+ var lastPart = (this._streams.length === 0);
281
+ if (lastPart) {
282
+ footer += this._lastBoundary();
283
+ }
284
+
285
+ next(footer);
286
+ }.bind(this);
287
+ };
288
+
289
+ FormData.prototype._lastBoundary = function() {
290
+ return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;
291
+ };
292
+
293
+ FormData.prototype.getHeaders = function(userHeaders) {
294
+ var header;
295
+ var formHeaders = {
296
+ 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()
297
+ };
298
+
299
+ for (header in userHeaders) {
300
+ if (userHeaders.hasOwnProperty(header)) {
301
+ formHeaders[header.toLowerCase()] = userHeaders[header];
302
+ }
303
+ }
304
+
305
+ return formHeaders;
306
+ };
307
+
308
+ FormData.prototype.getBoundary = function() {
309
+ if (!this._boundary) {
310
+ this._generateBoundary();
311
+ }
312
+
313
+ return this._boundary;
314
+ };
315
+
316
+ FormData.prototype.getBuffer = function() {
317
+ var dataBuffer = new Buffer.alloc( 0 );
318
+ var boundary = this.getBoundary();
319
+
320
+ // Create the form content. Add Line breaks to the end of data.
321
+ for (var i = 0, len = this._streams.length; i < len; i++) {
322
+ if (typeof this._streams[i] !== 'function') {
323
+
324
+ // Add content to the buffer.
325
+ if(Buffer.isBuffer(this._streams[i])) {
326
+ dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);
327
+ }else {
328
+ dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);
329
+ }
330
+
331
+ // Add break after content.
332
+ if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {
333
+ dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );
334
+ }
335
+ }
336
+ }
337
+
338
+ // Add the footer and return the Buffer object.
339
+ return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );
340
+ };
341
+
342
+ FormData.prototype._generateBoundary = function() {
343
+ // This generates a 50 character boundary similar to those used by Firefox.
344
+ // They are optimized for boyer-moore parsing.
345
+ var boundary = '--------------------------';
346
+ for (var i = 0; i < 24; i++) {
347
+ boundary += Math.floor(Math.random() * 10).toString(16);
348
+ }
349
+
350
+ this._boundary = boundary;
351
+ };
352
+
353
+ // Note: getLengthSync DOESN'T calculate streams length
354
+ // As workaround one can calculate file size manually
355
+ // and add it as knownLength option
356
+ FormData.prototype.getLengthSync = function() {
357
+ var knownLength = this._overheadLength + this._valueLength;
358
+
359
+ // Don't get confused, there are 3 "internal" streams for each keyval pair
360
+ // so it basically checks if there is any value added to the form
361
+ if (this._streams.length) {
362
+ knownLength += this._lastBoundary().length;
363
+ }
364
+
365
+ // https://github.com/form-data/form-data/issues/40
366
+ if (!this.hasKnownLength()) {
367
+ // Some async length retrievers are present
368
+ // therefore synchronous length calculation is false.
369
+ // Please use getLength(callback) to get proper length
370
+ this._error(new Error('Cannot calculate proper length in synchronous way.'));
371
+ }
372
+
373
+ return knownLength;
374
+ };
375
+
376
+ // Public API to check if length of added values is known
377
+ // https://github.com/form-data/form-data/issues/196
378
+ // https://github.com/form-data/form-data/issues/262
379
+ FormData.prototype.hasKnownLength = function() {
380
+ var hasKnownLength = true;
381
+
382
+ if (this._valuesToMeasure.length) {
383
+ hasKnownLength = false;
384
+ }
385
+
386
+ return hasKnownLength;
387
+ };
388
+
389
+ FormData.prototype.getLength = function(cb) {
390
+ var knownLength = this._overheadLength + this._valueLength;
391
+
392
+ if (this._streams.length) {
393
+ knownLength += this._lastBoundary().length;
394
+ }
395
+
396
+ if (!this._valuesToMeasure.length) {
397
+ process.nextTick(cb.bind(this, null, knownLength));
398
+ return;
399
+ }
400
+
401
+ asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {
402
+ if (err) {
403
+ cb(err);
404
+ return;
405
+ }
406
+
407
+ values.forEach(function(length) {
408
+ knownLength += length;
409
+ });
410
+
411
+ cb(null, knownLength);
412
+ });
413
+ };
414
+
415
+ FormData.prototype.submit = function(params, cb) {
416
+ var request
417
+ , options
418
+ , defaults = {method: 'post'}
419
+ ;
420
+
421
+ // parse provided url if it's string
422
+ // or treat it as options object
423
+ if (typeof params == 'string') {
424
+
425
+ params = parseUrl(params);
426
+ options = populate({
427
+ port: params.port,
428
+ path: params.pathname,
429
+ host: params.hostname,
430
+ protocol: params.protocol
431
+ }, defaults);
432
+
433
+ // use custom params
434
+ } else {
435
+
436
+ options = populate(params, defaults);
437
+ // if no port provided use default one
438
+ if (!options.port) {
439
+ options.port = options.protocol == 'https:' ? 443 : 80;
440
+ }
441
+ }
442
+
443
+ // put that good code in getHeaders to some use
444
+ options.headers = this.getHeaders(params.headers);
445
+
446
+ // https if specified, fallback to http in any other case
447
+ if (options.protocol == 'https:') {
448
+ request = https.request(options);
449
+ } else {
450
+ request = http.request(options);
451
+ }
452
+
453
+ // get content length and fire away
454
+ this.getLength(function(err, length) {
455
+ if (err) {
456
+ this._error(err);
457
+ return;
458
+ }
459
+
460
+ // add content length
461
+ request.setHeader('Content-Length', length);
462
+
463
+ this.pipe(request);
464
+ if (cb) {
465
+ request.on('error', cb);
466
+ request.on('response', cb.bind(this, null));
467
+ }
468
+ }.bind(this));
469
+
470
+ return request;
471
+ };
472
+
473
+ FormData.prototype._error = function(err) {
474
+ if (!this.error) {
475
+ this.error = err;
476
+ this.pause();
477
+ this.emit('error', err);
478
+ }
479
+ };
480
+
481
+ FormData.prototype.toString = function () {
482
+ return '[object FormData]';
483
+ };
@@ -0,0 +1,10 @@
1
+ // populates missing values
2
+ module.exports = function(dst, src) {
3
+
4
+ Object.keys(src).forEach(function(prop)
5
+ {
6
+ dst[prop] = dst[prop] || src[prop];
7
+ });
8
+
9
+ return dst;
10
+ };
@@ -0,0 +1,68 @@
1
+ {
2
+ "author": "Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)",
3
+ "name": "form-data",
4
+ "description": "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.",
5
+ "version": "2.5.1",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git://github.com/form-data/form-data.git"
9
+ },
10
+ "main": "./lib/form_data",
11
+ "browser": "./lib/browser",
12
+ "typings": "./index.d.ts",
13
+ "scripts": {
14
+ "pretest": "rimraf coverage test/tmp",
15
+ "test": "istanbul cover test/run.js",
16
+ "posttest": "istanbul report lcov text",
17
+ "lint": "eslint lib/*.js test/*.js test/integration/*.js",
18
+ "report": "istanbul report lcov text",
19
+ "ci-lint": "is-node-modern 8 && npm run lint || is-node-not-modern 8",
20
+ "ci-test": "npm run test && npm run browser && npm run report",
21
+ "predebug": "rimraf coverage test/tmp",
22
+ "debug": "verbose=1 ./test/run.js",
23
+ "browser": "browserify -t browserify-istanbul test/run-browser.js | obake --coverage",
24
+ "check": "istanbul check-coverage coverage/coverage*.json",
25
+ "files": "pkgfiles --sort=name",
26
+ "get-version": "node -e \"console.log(require('./package.json').version)\"",
27
+ "update-readme": "sed -i.bak 's/\\/master\\.svg/\\/v'$(npm --silent run get-version)'.svg/g' README.md",
28
+ "restore-readme": "mv README.md.bak README.md",
29
+ "prepublish": "in-publish && npm run update-readme || not-in-publish",
30
+ "postpublish": "npm run restore-readme"
31
+ },
32
+ "pre-commit": [
33
+ "lint",
34
+ "ci-test",
35
+ "check"
36
+ ],
37
+ "engines": {
38
+ "node": ">= 0.12"
39
+ },
40
+ "dependencies": {
41
+ "asynckit": "^0.4.0",
42
+ "combined-stream": "^1.0.6",
43
+ "mime-types": "^2.1.12"
44
+ },
45
+ "devDependencies": {
46
+ "@types/node": "^12.0.10",
47
+ "browserify": "^13.1.1",
48
+ "browserify-istanbul": "^2.0.0",
49
+ "coveralls": "^3.0.4",
50
+ "cross-spawn": "^6.0.5",
51
+ "eslint": "^6.0.1",
52
+ "fake": "^0.2.2",
53
+ "far": "^0.0.7",
54
+ "formidable": "^1.0.17",
55
+ "in-publish": "^2.0.0",
56
+ "is-node-modern": "^1.0.0",
57
+ "istanbul": "^0.4.5",
58
+ "obake": "^0.1.2",
59
+ "phantomjs-prebuilt": "^2.1.13",
60
+ "pkgfiles": "^2.3.0",
61
+ "pre-commit": "^1.1.3",
62
+ "request": "^2.88.0",
63
+ "rimraf": "^2.7.1",
64
+ "tape": "^4.6.2",
65
+ "typescript": "^3.5.2"
66
+ },
67
+ "license": "MIT"
68
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@types/request",
3
+ "version": "2.48.12",
4
+ "description": "TypeScript definitions for request",
5
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/request",
6
+ "license": "MIT",
7
+ "contributors": [
8
+ {
9
+ "name": "Carlos Ballesteros Velasco",
10
+ "githubUsername": "soywiz",
11
+ "url": "https://github.com/soywiz"
12
+ },
13
+ {
14
+ "name": "bonnici",
15
+ "githubUsername": "bonnici",
16
+ "url": "https://github.com/bonnici"
17
+ },
18
+ {
19
+ "name": "Bart van der Schoor",
20
+ "githubUsername": "Bartvds",
21
+ "url": "https://github.com/Bartvds"
22
+ },
23
+ {
24
+ "name": "Joe Skeen",
25
+ "githubUsername": "joeskeen",
26
+ "url": "https://github.com/joeskeen"
27
+ },
28
+ {
29
+ "name": "Christopher Currens",
30
+ "githubUsername": "ccurrens",
31
+ "url": "https://github.com/ccurrens"
32
+ },
33
+ {
34
+ "name": "Jon Stevens",
35
+ "githubUsername": "lookfirst",
36
+ "url": "https://github.com/lookfirst"
37
+ },
38
+ {
39
+ "name": "Matt R. Wilson",
40
+ "githubUsername": "mastermatt",
41
+ "url": "https://github.com/mastermatt"
42
+ },
43
+ {
44
+ "name": "Jose Colella",
45
+ "githubUsername": "josecolella",
46
+ "url": "https://github.com/josecolella"
47
+ },
48
+ {
49
+ "name": "Marek Urbanowicz",
50
+ "githubUsername": "murbanowicz",
51
+ "url": "https://github.com/murbanowicz"
52
+ }
53
+ ],
54
+ "main": "",
55
+ "types": "index.d.ts",
56
+ "repository": {
57
+ "type": "git",
58
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
59
+ "directory": "types/request"
60
+ },
61
+ "scripts": {},
62
+ "dependencies": {
63
+ "@types/caseless": "*",
64
+ "@types/node": "*",
65
+ "@types/tough-cookie": "*",
66
+ "form-data": "^2.5.0"
67
+ },
68
+ "typesPublisherContentHash": "e9c04d3b683d01018fb09988f703e7c4ec1db60010fc82e89c708a8f39706785",
69
+ "typeScriptVersion": "4.5"
70
+ }