rahad-all-downloader 2.1.15 → 2.1.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. package/.github/workflows/Run.yml +20 -0
  2. package/README.md +0 -1
  3. package/index.js +1 -1
  4. package/package.json +4 -2
  5. package/.cache/nix/binary-cache-v6.sqlite +0 -0
  6. package/.cache/nix/binary-cache-v6.sqlite-journal +0 -0
  7. package/.cache/replit/modules/nix.res +0 -1
  8. package/.cache/replit/modules/nodejs-20.res +0 -1
  9. package/.cache/replit/modules/replit.res +0 -1
  10. package/.cache/replit/modules.stamp +0 -0
  11. package/.cache/replit/nix/env.json +0 -1
  12. package/.cache/typescript/5.4/node_modules/.package-lock.json +0 -137
  13. package/.cache/typescript/5.4/node_modules/@types/caseless/LICENSE +0 -21
  14. package/.cache/typescript/5.4/node_modules/@types/caseless/README.md +0 -48
  15. package/.cache/typescript/5.4/node_modules/@types/caseless/index.d.ts +0 -29
  16. package/.cache/typescript/5.4/node_modules/@types/caseless/package.json +0 -35
  17. package/.cache/typescript/5.4/node_modules/@types/node/LICENSE +0 -21
  18. package/.cache/typescript/5.4/node_modules/@types/node/README.md +0 -15
  19. package/.cache/typescript/5.4/node_modules/@types/node/assert/strict.d.ts +0 -8
  20. package/.cache/typescript/5.4/node_modules/@types/node/assert.d.ts +0 -1040
  21. package/.cache/typescript/5.4/node_modules/@types/node/async_hooks.d.ts +0 -541
  22. package/.cache/typescript/5.4/node_modules/@types/node/buffer.d.ts +0 -2363
  23. package/.cache/typescript/5.4/node_modules/@types/node/child_process.d.ts +0 -1544
  24. package/.cache/typescript/5.4/node_modules/@types/node/cluster.d.ts +0 -578
  25. package/.cache/typescript/5.4/node_modules/@types/node/console.d.ts +0 -452
  26. package/.cache/typescript/5.4/node_modules/@types/node/constants.d.ts +0 -19
  27. package/.cache/typescript/5.4/node_modules/@types/node/crypto.d.ts +0 -4523
  28. package/.cache/typescript/5.4/node_modules/@types/node/dgram.d.ts +0 -596
  29. package/.cache/typescript/5.4/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  30. package/.cache/typescript/5.4/node_modules/@types/node/dns/promises.d.ts +0 -474
  31. package/.cache/typescript/5.4/node_modules/@types/node/dns.d.ts +0 -864
  32. package/.cache/typescript/5.4/node_modules/@types/node/dom-events.d.ts +0 -124
  33. package/.cache/typescript/5.4/node_modules/@types/node/domain.d.ts +0 -170
  34. package/.cache/typescript/5.4/node_modules/@types/node/events.d.ts +0 -909
  35. package/.cache/typescript/5.4/node_modules/@types/node/fs/promises.d.ts +0 -1245
  36. package/.cache/typescript/5.4/node_modules/@types/node/fs.d.ts +0 -4317
  37. package/.cache/typescript/5.4/node_modules/@types/node/globals.d.ts +0 -411
  38. package/.cache/typescript/5.4/node_modules/@types/node/globals.global.d.ts +0 -1
  39. package/.cache/typescript/5.4/node_modules/@types/node/http.d.ts +0 -1908
  40. package/.cache/typescript/5.4/node_modules/@types/node/http2.d.ts +0 -2418
  41. package/.cache/typescript/5.4/node_modules/@types/node/https.d.ts +0 -550
  42. package/.cache/typescript/5.4/node_modules/@types/node/index.d.ts +0 -89
  43. package/.cache/typescript/5.4/node_modules/@types/node/inspector.d.ts +0 -2746
  44. package/.cache/typescript/5.4/node_modules/@types/node/module.d.ts +0 -315
  45. package/.cache/typescript/5.4/node_modules/@types/node/net.d.ts +0 -999
  46. package/.cache/typescript/5.4/node_modules/@types/node/os.d.ts +0 -495
  47. package/.cache/typescript/5.4/node_modules/@types/node/package.json +0 -217
  48. package/.cache/typescript/5.4/node_modules/@types/node/path.d.ts +0 -191
  49. package/.cache/typescript/5.4/node_modules/@types/node/perf_hooks.d.ts +0 -905
  50. package/.cache/typescript/5.4/node_modules/@types/node/process.d.ts +0 -1754
  51. package/.cache/typescript/5.4/node_modules/@types/node/punycode.d.ts +0 -117
  52. package/.cache/typescript/5.4/node_modules/@types/node/querystring.d.ts +0 -153
  53. package/.cache/typescript/5.4/node_modules/@types/node/readline/promises.d.ts +0 -150
  54. package/.cache/typescript/5.4/node_modules/@types/node/readline.d.ts +0 -540
  55. package/.cache/typescript/5.4/node_modules/@types/node/repl.d.ts +0 -430
  56. package/.cache/typescript/5.4/node_modules/@types/node/sea.d.ts +0 -153
  57. package/.cache/typescript/5.4/node_modules/@types/node/stream/consumers.d.ts +0 -12
  58. package/.cache/typescript/5.4/node_modules/@types/node/stream/promises.d.ts +0 -83
  59. package/.cache/typescript/5.4/node_modules/@types/node/stream/web.d.ts +0 -367
  60. package/.cache/typescript/5.4/node_modules/@types/node/stream.d.ts +0 -1707
  61. package/.cache/typescript/5.4/node_modules/@types/node/string_decoder.d.ts +0 -67
  62. package/.cache/typescript/5.4/node_modules/@types/node/test.d.ts +0 -1718
  63. package/.cache/typescript/5.4/node_modules/@types/node/timers/promises.d.ts +0 -97
  64. package/.cache/typescript/5.4/node_modules/@types/node/timers.d.ts +0 -240
  65. package/.cache/typescript/5.4/node_modules/@types/node/tls.d.ts +0 -1217
  66. package/.cache/typescript/5.4/node_modules/@types/node/trace_events.d.ts +0 -197
  67. package/.cache/typescript/5.4/node_modules/@types/node/tty.d.ts +0 -208
  68. package/.cache/typescript/5.4/node_modules/@types/node/url.d.ts +0 -952
  69. package/.cache/typescript/5.4/node_modules/@types/node/util.d.ts +0 -2292
  70. package/.cache/typescript/5.4/node_modules/@types/node/v8.d.ts +0 -808
  71. package/.cache/typescript/5.4/node_modules/@types/node/vm.d.ts +0 -924
  72. package/.cache/typescript/5.4/node_modules/@types/node/wasi.d.ts +0 -181
  73. package/.cache/typescript/5.4/node_modules/@types/node/worker_threads.d.ts +0 -691
  74. package/.cache/typescript/5.4/node_modules/@types/node/zlib.d.ts +0 -530
  75. package/.cache/typescript/5.4/node_modules/@types/node-fetch/LICENSE +0 -21
  76. package/.cache/typescript/5.4/node_modules/@types/node-fetch/README.md +0 -15
  77. package/.cache/typescript/5.4/node_modules/@types/node-fetch/externals.d.ts +0 -32
  78. package/.cache/typescript/5.4/node_modules/@types/node-fetch/index.d.ts +0 -238
  79. package/.cache/typescript/5.4/node_modules/@types/node-fetch/package.json +0 -83
  80. package/.cache/typescript/5.4/node_modules/@types/request/LICENSE +0 -21
  81. package/.cache/typescript/5.4/node_modules/@types/request/README.md +0 -15
  82. package/.cache/typescript/5.4/node_modules/@types/request/index.d.ts +0 -395
  83. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/License +0 -19
  84. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md +0 -350
  85. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md.bak +0 -350
  86. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/index.d.ts +0 -51
  87. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/browser.js +0 -2
  88. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/form_data.js +0 -483
  89. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/populate.js +0 -10
  90. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/package.json +0 -68
  91. package/.cache/typescript/5.4/node_modules/@types/request/package.json +0 -70
  92. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/LICENSE +0 -21
  93. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/README.md +0 -15
  94. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/index.d.ts +0 -321
  95. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/package.json +0 -35
  96. package/.cache/typescript/5.4/node_modules/asynckit/LICENSE +0 -21
  97. package/.cache/typescript/5.4/node_modules/asynckit/README.md +0 -233
  98. package/.cache/typescript/5.4/node_modules/asynckit/bench.js +0 -76
  99. package/.cache/typescript/5.4/node_modules/asynckit/index.js +0 -6
  100. package/.cache/typescript/5.4/node_modules/asynckit/lib/abort.js +0 -29
  101. package/.cache/typescript/5.4/node_modules/asynckit/lib/async.js +0 -34
  102. package/.cache/typescript/5.4/node_modules/asynckit/lib/defer.js +0 -26
  103. package/.cache/typescript/5.4/node_modules/asynckit/lib/iterate.js +0 -75
  104. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  105. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_parallel.js +0 -25
  106. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial.js +0 -25
  107. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  108. package/.cache/typescript/5.4/node_modules/asynckit/lib/state.js +0 -37
  109. package/.cache/typescript/5.4/node_modules/asynckit/lib/streamify.js +0 -141
  110. package/.cache/typescript/5.4/node_modules/asynckit/lib/terminator.js +0 -29
  111. package/.cache/typescript/5.4/node_modules/asynckit/package.json +0 -63
  112. package/.cache/typescript/5.4/node_modules/asynckit/parallel.js +0 -43
  113. package/.cache/typescript/5.4/node_modules/asynckit/serial.js +0 -17
  114. package/.cache/typescript/5.4/node_modules/asynckit/serialOrdered.js +0 -75
  115. package/.cache/typescript/5.4/node_modules/asynckit/stream.js +0 -21
  116. package/.cache/typescript/5.4/node_modules/combined-stream/License +0 -19
  117. package/.cache/typescript/5.4/node_modules/combined-stream/Readme.md +0 -138
  118. package/.cache/typescript/5.4/node_modules/combined-stream/lib/combined_stream.js +0 -208
  119. package/.cache/typescript/5.4/node_modules/combined-stream/package.json +0 -25
  120. package/.cache/typescript/5.4/node_modules/combined-stream/yarn.lock +0 -17
  121. package/.cache/typescript/5.4/node_modules/delayed-stream/License +0 -19
  122. package/.cache/typescript/5.4/node_modules/delayed-stream/Makefile +0 -7
  123. package/.cache/typescript/5.4/node_modules/delayed-stream/Readme.md +0 -141
  124. package/.cache/typescript/5.4/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  125. package/.cache/typescript/5.4/node_modules/delayed-stream/package.json +0 -27
  126. package/.cache/typescript/5.4/node_modules/form-data/License +0 -19
  127. package/.cache/typescript/5.4/node_modules/form-data/README.md.bak +0 -358
  128. package/.cache/typescript/5.4/node_modules/form-data/Readme.md +0 -358
  129. package/.cache/typescript/5.4/node_modules/form-data/index.d.ts +0 -62
  130. package/.cache/typescript/5.4/node_modules/form-data/lib/browser.js +0 -2
  131. package/.cache/typescript/5.4/node_modules/form-data/lib/form_data.js +0 -501
  132. package/.cache/typescript/5.4/node_modules/form-data/lib/populate.js +0 -10
  133. package/.cache/typescript/5.4/node_modules/form-data/package.json +0 -68
  134. package/.cache/typescript/5.4/node_modules/mime-db/HISTORY.md +0 -507
  135. package/.cache/typescript/5.4/node_modules/mime-db/LICENSE +0 -23
  136. package/.cache/typescript/5.4/node_modules/mime-db/README.md +0 -100
  137. package/.cache/typescript/5.4/node_modules/mime-db/db.json +0 -8519
  138. package/.cache/typescript/5.4/node_modules/mime-db/index.js +0 -12
  139. package/.cache/typescript/5.4/node_modules/mime-db/package.json +0 -60
  140. package/.cache/typescript/5.4/node_modules/mime-types/HISTORY.md +0 -397
  141. package/.cache/typescript/5.4/node_modules/mime-types/LICENSE +0 -23
  142. package/.cache/typescript/5.4/node_modules/mime-types/README.md +0 -113
  143. package/.cache/typescript/5.4/node_modules/mime-types/index.js +0 -188
  144. package/.cache/typescript/5.4/node_modules/mime-types/package.json +0 -44
  145. package/.cache/typescript/5.4/node_modules/types-registry/README.md +0 -2
  146. package/.cache/typescript/5.4/node_modules/types-registry/index.json +0 -1
  147. package/.cache/typescript/5.4/node_modules/types-registry/package.json +0 -20
  148. package/.cache/typescript/5.4/node_modules/undici-types/README.md +0 -6
  149. package/.cache/typescript/5.4/node_modules/undici-types/agent.d.ts +0 -31
  150. package/.cache/typescript/5.4/node_modules/undici-types/api.d.ts +0 -43
  151. package/.cache/typescript/5.4/node_modules/undici-types/balanced-pool.d.ts +0 -18
  152. package/.cache/typescript/5.4/node_modules/undici-types/cache.d.ts +0 -36
  153. package/.cache/typescript/5.4/node_modules/undici-types/client.d.ts +0 -97
  154. package/.cache/typescript/5.4/node_modules/undici-types/connector.d.ts +0 -34
  155. package/.cache/typescript/5.4/node_modules/undici-types/content-type.d.ts +0 -21
  156. package/.cache/typescript/5.4/node_modules/undici-types/cookies.d.ts +0 -28
  157. package/.cache/typescript/5.4/node_modules/undici-types/diagnostics-channel.d.ts +0 -67
  158. package/.cache/typescript/5.4/node_modules/undici-types/dispatcher.d.ts +0 -241
  159. package/.cache/typescript/5.4/node_modules/undici-types/errors.d.ts +0 -128
  160. package/.cache/typescript/5.4/node_modules/undici-types/fetch.d.ts +0 -209
  161. package/.cache/typescript/5.4/node_modules/undici-types/file.d.ts +0 -39
  162. package/.cache/typescript/5.4/node_modules/undici-types/filereader.d.ts +0 -54
  163. package/.cache/typescript/5.4/node_modules/undici-types/formdata.d.ts +0 -108
  164. package/.cache/typescript/5.4/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  165. package/.cache/typescript/5.4/node_modules/undici-types/global-origin.d.ts +0 -7
  166. package/.cache/typescript/5.4/node_modules/undici-types/handlers.d.ts +0 -9
  167. package/.cache/typescript/5.4/node_modules/undici-types/header.d.ts +0 -4
  168. package/.cache/typescript/5.4/node_modules/undici-types/index.d.ts +0 -63
  169. package/.cache/typescript/5.4/node_modules/undici-types/interceptors.d.ts +0 -5
  170. package/.cache/typescript/5.4/node_modules/undici-types/mock-agent.d.ts +0 -50
  171. package/.cache/typescript/5.4/node_modules/undici-types/mock-client.d.ts +0 -25
  172. package/.cache/typescript/5.4/node_modules/undici-types/mock-errors.d.ts +0 -12
  173. package/.cache/typescript/5.4/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  174. package/.cache/typescript/5.4/node_modules/undici-types/mock-pool.d.ts +0 -25
  175. package/.cache/typescript/5.4/node_modules/undici-types/package.json +0 -55
  176. package/.cache/typescript/5.4/node_modules/undici-types/patch.d.ts +0 -71
  177. package/.cache/typescript/5.4/node_modules/undici-types/pool-stats.d.ts +0 -19
  178. package/.cache/typescript/5.4/node_modules/undici-types/pool.d.ts +0 -28
  179. package/.cache/typescript/5.4/node_modules/undici-types/proxy-agent.d.ts +0 -30
  180. package/.cache/typescript/5.4/node_modules/undici-types/readable.d.ts +0 -61
  181. package/.cache/typescript/5.4/node_modules/undici-types/webidl.d.ts +0 -220
  182. package/.cache/typescript/5.4/node_modules/undici-types/websocket.d.ts +0 -131
  183. package/.cache/typescript/5.4/package-lock.json +0 -146
  184. package/.cache/typescript/5.4/package.json +0 -1
  185. package/.replit +0 -21
  186. package/replit.nix +0 -3
@@ -1,501 +0,0 @@
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 Stream = require('stream').Stream;
9
- var mime = require('mime-types');
10
- var asynckit = require('asynckit');
11
- var populate = require('./populate.js');
12
-
13
- // Public API
14
- module.exports = FormData;
15
-
16
- // make it a Stream
17
- util.inherits(FormData, CombinedStream);
18
-
19
- /**
20
- * Create readable "multipart/form-data" streams.
21
- * Can be used to submit forms
22
- * and file uploads to other web applications.
23
- *
24
- * @constructor
25
- * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream
26
- */
27
- function FormData(options) {
28
- if (!(this instanceof FormData)) {
29
- return new FormData(options);
30
- }
31
-
32
- this._overheadLength = 0;
33
- this._valueLength = 0;
34
- this._valuesToMeasure = [];
35
-
36
- CombinedStream.call(this);
37
-
38
- options = options || {};
39
- for (var option in options) {
40
- this[option] = options[option];
41
- }
42
- }
43
-
44
- FormData.LINE_BREAK = '\r\n';
45
- FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';
46
-
47
- FormData.prototype.append = function(field, value, options) {
48
-
49
- options = options || {};
50
-
51
- // allow filename as single option
52
- if (typeof options == 'string') {
53
- options = {filename: options};
54
- }
55
-
56
- var append = CombinedStream.prototype.append.bind(this);
57
-
58
- // all that streamy business can't handle numbers
59
- if (typeof value == 'number') {
60
- value = '' + value;
61
- }
62
-
63
- // https://github.com/felixge/node-form-data/issues/38
64
- if (util.isArray(value)) {
65
- // Please convert your array into string
66
- // the way web server expects it
67
- this._error(new Error('Arrays are not supported.'));
68
- return;
69
- }
70
-
71
- var header = this._multiPartHeader(field, value, options);
72
- var footer = this._multiPartFooter();
73
-
74
- append(header);
75
- append(value);
76
- append(footer);
77
-
78
- // pass along options.knownLength
79
- this._trackLength(header, value, options);
80
- };
81
-
82
- FormData.prototype._trackLength = function(header, value, options) {
83
- var valueLength = 0;
84
-
85
- // used w/ getLengthSync(), when length is known.
86
- // e.g. for streaming directly from a remote server,
87
- // w/ a known file a size, and not wanting to wait for
88
- // incoming file to finish to get its size.
89
- if (options.knownLength != null) {
90
- valueLength += +options.knownLength;
91
- } else if (Buffer.isBuffer(value)) {
92
- valueLength = value.length;
93
- } else if (typeof value === 'string') {
94
- valueLength = Buffer.byteLength(value);
95
- }
96
-
97
- this._valueLength += valueLength;
98
-
99
- // @check why add CRLF? does this account for custom/multiple CRLFs?
100
- this._overheadLength +=
101
- Buffer.byteLength(header) +
102
- FormData.LINE_BREAK.length;
103
-
104
- // empty or either doesn't have path or not an http response or not a stream
105
- if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) && !(value instanceof Stream))) {
106
- return;
107
- }
108
-
109
- // no need to bother with the length
110
- if (!options.knownLength) {
111
- this._valuesToMeasure.push(value);
112
- }
113
- };
114
-
115
- FormData.prototype._lengthRetriever = function(value, callback) {
116
-
117
- if (value.hasOwnProperty('fd')) {
118
-
119
- // take read range into a account
120
- // `end` = Infinity –> read file till the end
121
- //
122
- // TODO: Looks like there is bug in Node fs.createReadStream
123
- // it doesn't respect `end` options without `start` options
124
- // Fix it when node fixes it.
125
- // https://github.com/joyent/node/issues/7819
126
- if (value.end != undefined && value.end != Infinity && value.start != undefined) {
127
-
128
- // when end specified
129
- // no need to calculate range
130
- // inclusive, starts with 0
131
- callback(null, value.end + 1 - (value.start ? value.start : 0));
132
-
133
- // not that fast snoopy
134
- } else {
135
- // still need to fetch file size from fs
136
- fs.stat(value.path, function(err, stat) {
137
-
138
- var fileSize;
139
-
140
- if (err) {
141
- callback(err);
142
- return;
143
- }
144
-
145
- // update final size based on the range options
146
- fileSize = stat.size - (value.start ? value.start : 0);
147
- callback(null, fileSize);
148
- });
149
- }
150
-
151
- // or http response
152
- } else if (value.hasOwnProperty('httpVersion')) {
153
- callback(null, +value.headers['content-length']);
154
-
155
- // or request stream http://github.com/mikeal/request
156
- } else if (value.hasOwnProperty('httpModule')) {
157
- // wait till response come back
158
- value.on('response', function(response) {
159
- value.pause();
160
- callback(null, +response.headers['content-length']);
161
- });
162
- value.resume();
163
-
164
- // something else
165
- } else {
166
- callback('Unknown stream');
167
- }
168
- };
169
-
170
- FormData.prototype._multiPartHeader = function(field, value, options) {
171
- // custom header specified (as string)?
172
- // it becomes responsible for boundary
173
- // (e.g. to handle extra CRLFs on .NET servers)
174
- if (typeof options.header == 'string') {
175
- return options.header;
176
- }
177
-
178
- var contentDisposition = this._getContentDisposition(value, options);
179
- var contentType = this._getContentType(value, options);
180
-
181
- var contents = '';
182
- var headers = {
183
- // add custom disposition as third element or keep it two elements if not
184
- 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []),
185
- // if no content type. allow it to be empty array
186
- 'Content-Type': [].concat(contentType || [])
187
- };
188
-
189
- // allow custom headers.
190
- if (typeof options.header == 'object') {
191
- populate(headers, options.header);
192
- }
193
-
194
- var header;
195
- for (var prop in headers) {
196
- if (!headers.hasOwnProperty(prop)) continue;
197
- header = headers[prop];
198
-
199
- // skip nullish headers.
200
- if (header == null) {
201
- continue;
202
- }
203
-
204
- // convert all headers to arrays.
205
- if (!Array.isArray(header)) {
206
- header = [header];
207
- }
208
-
209
- // add non-empty headers.
210
- if (header.length) {
211
- contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;
212
- }
213
- }
214
-
215
- return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;
216
- };
217
-
218
- FormData.prototype._getContentDisposition = function(value, options) {
219
-
220
- var filename
221
- , contentDisposition
222
- ;
223
-
224
- if (typeof options.filepath === 'string') {
225
- // custom filepath for relative paths
226
- filename = path.normalize(options.filepath).replace(/\\/g, '/');
227
- } else if (options.filename || value.name || value.path) {
228
- // custom filename take precedence
229
- // formidable and the browser add a name property
230
- // fs- and request- streams have path property
231
- filename = path.basename(options.filename || value.name || value.path);
232
- } else if (value.readable && value.hasOwnProperty('httpVersion')) {
233
- // or try http response
234
- filename = path.basename(value.client._httpMessage.path || '');
235
- }
236
-
237
- if (filename) {
238
- contentDisposition = 'filename="' + filename + '"';
239
- }
240
-
241
- return contentDisposition;
242
- };
243
-
244
- FormData.prototype._getContentType = function(value, options) {
245
-
246
- // use custom content-type above all
247
- var contentType = options.contentType;
248
-
249
- // or try `name` from formidable, browser
250
- if (!contentType && value.name) {
251
- contentType = mime.lookup(value.name);
252
- }
253
-
254
- // or try `path` from fs-, request- streams
255
- if (!contentType && value.path) {
256
- contentType = mime.lookup(value.path);
257
- }
258
-
259
- // or if it's http-reponse
260
- if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {
261
- contentType = value.headers['content-type'];
262
- }
263
-
264
- // or guess it from the filepath or filename
265
- if (!contentType && (options.filepath || options.filename)) {
266
- contentType = mime.lookup(options.filepath || options.filename);
267
- }
268
-
269
- // fallback to the default content type if `value` is not simple value
270
- if (!contentType && typeof value == 'object') {
271
- contentType = FormData.DEFAULT_CONTENT_TYPE;
272
- }
273
-
274
- return contentType;
275
- };
276
-
277
- FormData.prototype._multiPartFooter = function() {
278
- return function(next) {
279
- var footer = FormData.LINE_BREAK;
280
-
281
- var lastPart = (this._streams.length === 0);
282
- if (lastPart) {
283
- footer += this._lastBoundary();
284
- }
285
-
286
- next(footer);
287
- }.bind(this);
288
- };
289
-
290
- FormData.prototype._lastBoundary = function() {
291
- return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;
292
- };
293
-
294
- FormData.prototype.getHeaders = function(userHeaders) {
295
- var header;
296
- var formHeaders = {
297
- 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()
298
- };
299
-
300
- for (header in userHeaders) {
301
- if (userHeaders.hasOwnProperty(header)) {
302
- formHeaders[header.toLowerCase()] = userHeaders[header];
303
- }
304
- }
305
-
306
- return formHeaders;
307
- };
308
-
309
- FormData.prototype.setBoundary = function(boundary) {
310
- this._boundary = boundary;
311
- };
312
-
313
- FormData.prototype.getBoundary = function() {
314
- if (!this._boundary) {
315
- this._generateBoundary();
316
- }
317
-
318
- return this._boundary;
319
- };
320
-
321
- FormData.prototype.getBuffer = function() {
322
- var dataBuffer = new Buffer.alloc( 0 );
323
- var boundary = this.getBoundary();
324
-
325
- // Create the form content. Add Line breaks to the end of data.
326
- for (var i = 0, len = this._streams.length; i < len; i++) {
327
- if (typeof this._streams[i] !== 'function') {
328
-
329
- // Add content to the buffer.
330
- if(Buffer.isBuffer(this._streams[i])) {
331
- dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);
332
- }else {
333
- dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);
334
- }
335
-
336
- // Add break after content.
337
- if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {
338
- dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );
339
- }
340
- }
341
- }
342
-
343
- // Add the footer and return the Buffer object.
344
- return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );
345
- };
346
-
347
- FormData.prototype._generateBoundary = function() {
348
- // This generates a 50 character boundary similar to those used by Firefox.
349
- // They are optimized for boyer-moore parsing.
350
- var boundary = '--------------------------';
351
- for (var i = 0; i < 24; i++) {
352
- boundary += Math.floor(Math.random() * 10).toString(16);
353
- }
354
-
355
- this._boundary = boundary;
356
- };
357
-
358
- // Note: getLengthSync DOESN'T calculate streams length
359
- // As workaround one can calculate file size manually
360
- // and add it as knownLength option
361
- FormData.prototype.getLengthSync = function() {
362
- var knownLength = this._overheadLength + this._valueLength;
363
-
364
- // Don't get confused, there are 3 "internal" streams for each keyval pair
365
- // so it basically checks if there is any value added to the form
366
- if (this._streams.length) {
367
- knownLength += this._lastBoundary().length;
368
- }
369
-
370
- // https://github.com/form-data/form-data/issues/40
371
- if (!this.hasKnownLength()) {
372
- // Some async length retrievers are present
373
- // therefore synchronous length calculation is false.
374
- // Please use getLength(callback) to get proper length
375
- this._error(new Error('Cannot calculate proper length in synchronous way.'));
376
- }
377
-
378
- return knownLength;
379
- };
380
-
381
- // Public API to check if length of added values is known
382
- // https://github.com/form-data/form-data/issues/196
383
- // https://github.com/form-data/form-data/issues/262
384
- FormData.prototype.hasKnownLength = function() {
385
- var hasKnownLength = true;
386
-
387
- if (this._valuesToMeasure.length) {
388
- hasKnownLength = false;
389
- }
390
-
391
- return hasKnownLength;
392
- };
393
-
394
- FormData.prototype.getLength = function(cb) {
395
- var knownLength = this._overheadLength + this._valueLength;
396
-
397
- if (this._streams.length) {
398
- knownLength += this._lastBoundary().length;
399
- }
400
-
401
- if (!this._valuesToMeasure.length) {
402
- process.nextTick(cb.bind(this, null, knownLength));
403
- return;
404
- }
405
-
406
- asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {
407
- if (err) {
408
- cb(err);
409
- return;
410
- }
411
-
412
- values.forEach(function(length) {
413
- knownLength += length;
414
- });
415
-
416
- cb(null, knownLength);
417
- });
418
- };
419
-
420
- FormData.prototype.submit = function(params, cb) {
421
- var request
422
- , options
423
- , defaults = {method: 'post'}
424
- ;
425
-
426
- // parse provided url if it's string
427
- // or treat it as options object
428
- if (typeof params == 'string') {
429
-
430
- params = parseUrl(params);
431
- options = populate({
432
- port: params.port,
433
- path: params.pathname,
434
- host: params.hostname,
435
- protocol: params.protocol
436
- }, defaults);
437
-
438
- // use custom params
439
- } else {
440
-
441
- options = populate(params, defaults);
442
- // if no port provided use default one
443
- if (!options.port) {
444
- options.port = options.protocol == 'https:' ? 443 : 80;
445
- }
446
- }
447
-
448
- // put that good code in getHeaders to some use
449
- options.headers = this.getHeaders(params.headers);
450
-
451
- // https if specified, fallback to http in any other case
452
- if (options.protocol == 'https:') {
453
- request = https.request(options);
454
- } else {
455
- request = http.request(options);
456
- }
457
-
458
- // get content length and fire away
459
- this.getLength(function(err, length) {
460
- if (err && err !== 'Unknown stream') {
461
- this._error(err);
462
- return;
463
- }
464
-
465
- // add content length
466
- if (length) {
467
- request.setHeader('Content-Length', length);
468
- }
469
-
470
- this.pipe(request);
471
- if (cb) {
472
- var onResponse;
473
-
474
- var callback = function (error, responce) {
475
- request.removeListener('error', callback);
476
- request.removeListener('response', onResponse);
477
-
478
- return cb.call(this, error, responce);
479
- };
480
-
481
- onResponse = callback.bind(this, null);
482
-
483
- request.on('error', callback);
484
- request.on('response', onResponse);
485
- }
486
- }.bind(this));
487
-
488
- return request;
489
- };
490
-
491
- FormData.prototype._error = function(err) {
492
- if (!this.error) {
493
- this.error = err;
494
- this.pause();
495
- this.emit('error', err);
496
- }
497
- };
498
-
499
- FormData.prototype.toString = function () {
500
- return '[object FormData]';
501
- };
@@ -1,10 +0,0 @@
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
- };
@@ -1,68 +0,0 @@
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": "4.0.0",
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": ">= 6"
39
- },
40
- "dependencies": {
41
- "asynckit": "^0.4.0",
42
- "combined-stream": "^1.0.8",
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
- "puppeteer": "^1.19.0",
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
- }