Skip to content

Commit 02fadf7

Browse files
committed
move to node
1 parent 152e940 commit 02fadf7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+485
-441
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141

4242
# re-ignores: add here what you want to be ignored again
4343
test/tmp
44+
test-node/tmp
4445

4546
# !src/*.js
4647
# !src/*.ts

a.js

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@
6363
"test-specific": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --testPathPattern=test/standalone/keep-alive-error.test.js",
6464
"test": "npm run test-jest && npm run test-node",
6565
"test-jest": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --testPathPattern=test/ --coverage",
66-
"test-node": "node --test test-node/",
66+
"test-node": "node --test \"test-node/**/*.test.js\" --test-concurrency 1",
67+
"test-node2": "node --test \"test-node/**/integration/**/*.test.js\" --test-concurrency 1",
6768
"pretest:ci": "yarn run pretest",
6869
"test:ci": "node --experimental-vm-modules node_modules/.bin/nyc jest --testPathPattern=test/ --coverage && node --experimental-vm-modules node_modules/.bin/nyc node --test test-node/"
6970
},

src/Formidable.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -492,11 +492,11 @@ class IncomingForm extends EventEmitter {
492492

493493
this.req = null;
494494
this.error = err;
495-
this.emit(eventName, err);
496-
497495
this.openedFiles.forEach((file) => {
498496
file.destroy();
499497
});
498+
this.emit(eventName, err);
499+
500500
}
501501

502502
_parseContentLength() {
File renamed without changes.
File renamed without changes.

test-node/fixture/file/readme.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
These are the original files that were used to create the files inside http which are like http request header + body in 1 file.
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
4-
Content-Length: 2483
5-
6-
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
7-
Content-Disposition: form-data; name="sticker"; filename="beta-sticker-1.png"
8-
Content-Type: image/png
9-
Content-Transfer-Encoding: base64
10-
11-
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
12-
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/--
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
4+
Content-Length: 2483
5+
6+
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
7+
Content-Disposition: form-data; name="sticker"; filename="beta-sticker-1.png"
8+
Content-Type: image/png
9+
Content-Transfer-Encoding: base64
10+
11+
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
12+
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/--
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
4-
Content-Length: 676
5-
6-
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
7-
Content-Disposition: form-data; name="file"; filename="binaryfile.tar.gz"
8-
Content-Type: application/x-gzip
9-
Content-Transfer-Encoding: base64
10-
11-
H4sIAGiNIU8AA+3R0W6CMBQGYK59iobLZantRDG73osUOGqnFNJWM2N897UghG1ZdmWWLf93U/jP4bRAq8q92hJ/dY1J7kQEqyyLq8yXYrp2ltkqkTKXYiEykYc++ZTLVcLEvQ40dXReWcYSV1pdnL/v+6n+R11mjKVG1ZQ+s3TT2FpXqjhQ+hjzE1mnGxNLkgu+7tOKWjIVmVKTC6XL9ZaeXj4VQhwKWzL+cI4zwgQuuhkh3mhTad/Hkssh3im3027X54JnQ360R/M19OT8kC7SEN7Ooi2VvrEfznHQRWzl83gxttZKmzGehzPRW/+W8X+3fvL8sFet9sS6m3EIma02071MU3Uf9KHrmV1/+y8DAAAAAAAAAAAAAAAAAAAAAMB/9A6txIuJACgAAA==
12-
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/--
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
4+
Content-Length: 676
5+
6+
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
7+
Content-Disposition: form-data; name="file"; filename="binaryfile.tar.gz"
8+
Content-Type: application/x-gzip
9+
Content-Transfer-Encoding: base64
10+
11+
H4sIAGiNIU8AA+3R0W6CMBQGYK59iobLZantRDG73osUOGqnFNJWM2N897UghG1ZdmWWLf93U/jP4bRAq8q92hJ/dY1J7kQEqyyLq8yXYrp2ltkqkTKXYiEykYc++ZTLVcLEvQ40dXReWcYSV1pdnL/v+6n+R11mjKVG1ZQ+s3TT2FpXqjhQ+hjzE1mnGxNLkgu+7tOKWjIVmVKTC6XL9ZaeXj4VQhwKWzL+cI4zwgQuuhkh3mhTad/Hkssh3im3027X54JnQ360R/M19OT8kC7SEN7Ooi2VvrEfznHQRWzl83gxttZKmzGehzPRW/+W8X+3fvL8sFet9sS6m3EIma02071MU3Uf9KHrmV1/+y8DAAAAAAAAAAAAAAAAAAAAAMB/9A6txIuJACgAAA==
12+
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/--
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
4-
Content-Length: 323
5-
6-
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
7-
Content-Disposition: form-data; name="file"; filename="blank.gif"
8-
Content-Type: image/gif
9-
Content-Transfer-Encoding: base64
10-
11-
R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw==
12-
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/--
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
4+
Content-Length: 323
5+
6+
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
7+
Content-Disposition: form-data; name="file"; filename="blank.gif"
8+
Content-Type: image/gif
9+
Content-Transfer-Encoding: base64
10+
11+
R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw==
12+
--\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/--
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4-
Content-Length: 221
5-
6-
------TLV0SrKD4z1TRxRhAPUvZ
7-
Content-Disposition: form-data; name="file"; filename="plain.txt"
8-
Content-Type: text/plain
9-
Content-Transfer-Encoding: 7bit
10-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4+
Content-Length: 221
5+
6+
------TLV0SrKD4z1TRxRhAPUvZ
7+
Content-Disposition: form-data; name="file"; filename="plain.txt"
8+
Content-Type: text/plain
9+
Content-Transfer-Encoding: 7bit
10+
1111
I am a plain text file
12-
13-
------TLV0SrKD4z1TRxRhAPUvZ--
12+
13+
------TLV0SrKD4z1TRxRhAPUvZ--
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4-
Content-Length: 0
5-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4+
Content-Length: 0
5+
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4-
Content-Length: 31
5-
6-
------TLV0SrKD4z1TRxRhAPUvZ--
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4+
Content-Length: 31
5+
6+
------TLV0SrKD4z1TRxRhAPUvZ--
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Length: 0
4-
Content-Type: application/x-www-form-urlencoded
5-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Length: 0
4+
Content-Type: application/x-www-form-urlencoded
5+
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Length: 0
4-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Length: 0
4+
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytyE4wkKlZ5CQJVTG
4-
Content-Length: 1000
5-
6-
------WebKitFormBoundarytyE4wkKlZ5CQJVTG
7-
Content-Disposition: form-data; filename="plain.txt"; name="upload"
8-
Content-Type: text/plain
9-
10-
I am a plain text file
11-
12-
------WebKitFormBoundarytyE4wkKlZ5CQJVTG--
13-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytyE4wkKlZ5CQJVTG
4+
Content-Length: 1000
5+
6+
------WebKitFormBoundarytyE4wkKlZ5CQJVTG
7+
Content-Disposition: form-data; filename="plain.txt"; name="upload"
8+
Content-Type: text/plain
9+
10+
I am a plain text file
11+
12+
------WebKitFormBoundarytyE4wkKlZ5CQJVTG--
13+
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytyE4wkKlZ5CQJVTG
4-
Content-Length: 1000
5-
6-
------WebKitFormBoundarytyE4wkKlZ5CQJVTG
7-
Content-Disposition: form-data; name="upload"; filename=""
8-
Content-Type: text/plain
9-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytyE4wkKlZ5CQJVTG
4+
Content-Length: 1000
5+
6+
------WebKitFormBoundarytyE4wkKlZ5CQJVTG
7+
Content-Disposition: form-data; name="upload"; filename=""
8+
Content-Type: text/plain
9+
1010
I am a plain text file
11-
12-
------WebKitFormBoundarytyE4wkKlZ5CQJVTG--
11+
12+
------WebKitFormBoundarytyE4wkKlZ5CQJVTG--
1313

Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4-
Content-Length: 184
5-
6-
7-
------TLV0SrKD4z1TRxRhAPUvZ
8-
Content-Disposition: form-data; name="upload"; filename="plain.txt"
9-
Content-Type: text/plain
10-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4+
Content-Length: 184
5+
6+
7+
------TLV0SrKD4z1TRxRhAPUvZ
8+
Content-Disposition: form-data; name="upload"; filename="plain.txt"
9+
Content-Type: text/plain
10+
1111
I am a plain text file
12-
13-
------TLV0SrKD4z1TRxRhAPUvZ--
12+
13+
------TLV0SrKD4z1TRxRhAPUvZ--
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4-
Content-Length: 226
5-
6-
This is a preamble which should be ignored
7-
------TLV0SrKD4z1TRxRhAPUvZ
8-
Content-Disposition: form-data; name="upload"; filename="plain.txt"
9-
Content-Type: text/plain
10-
11-
I am a plain text file
12-
13-
------TLV0SrKD4z1TRxRhAPUvZ--
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Content-Type: multipart/form-data; boundary=----TLV0SrKD4z1TRxRhAPUvZ
4+
Content-Length: 226
5+
6+
This is a preamble which should be ignored
7+
------TLV0SrKD4z1TRxRhAPUvZ
8+
Content-Disposition: form-data; name="upload"; filename="plain.txt"
9+
Content-Type: text/plain
10+
11+
I am a plain text file
12+
13+
------TLV0SrKD4z1TRxRhAPUvZ--
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1-
POST /upload HTTP/1.1
2-
Host: localhost:8080
3-
Connection: keep-alive
4-
Referer: http://localhost:8080/
5-
Content-Length: 383
6-
Cache-Control: max-age=0
7-
Origin: http://localhost:8080
8-
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1
9-
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytyE4wkKlZ5CQJVTG
10-
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
11-
Accept-Encoding: gzip,deflate,sdch
12-
Accept-Language: en-US,en;q=0.8
13-
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
14-
Cookie: jqCookieJar_tablesorter=%7B%22showListTable%22%3A%5B%5B5%2C1%5D%2C%5B1%2C0%5D%5D%7D
15-
16-
------WebKitFormBoundarytyE4wkKlZ5CQJVTG
17-
Content-Disposition: form-data; name="title"
18-
19-
Weird filename
20-
------WebKitFormBoundarytyE4wkKlZ5CQJVTG
21-
Content-Disposition: form-data; name="upload"; filename=": \ ? % * | %22 < > . ? ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
22-
Content-Type: text/plain
23-
1+
POST /upload HTTP/1.1
2+
Host: localhost:8080
3+
Connection: keep-alive
4+
Referer: http://localhost:8080/
5+
Content-Length: 383
6+
Cache-Control: max-age=0
7+
Origin: http://localhost:8080
8+
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1
9+
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytyE4wkKlZ5CQJVTG
10+
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
11+
Accept-Encoding: gzip,deflate,sdch
12+
Accept-Language: en-US,en;q=0.8
13+
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
14+
Cookie: jqCookieJar_tablesorter=%7B%22showListTable%22%3A%5B%5B5%2C1%5D%2C%5B1%2C0%5D%5D%7D
15+
16+
------WebKitFormBoundarytyE4wkKlZ5CQJVTG
17+
Content-Disposition: form-data; name="title"
18+
19+
Weird filename
20+
------WebKitFormBoundarytyE4wkKlZ5CQJVTG
21+
Content-Disposition: form-data; name="upload"; filename=": \ ? % * | %22 < > . ? ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
22+
Content-Type: text/plain
23+
2424
I am a text file with a funky name!
25-
26-
------WebKitFormBoundarytyE4wkKlZ5CQJVTG--
25+
26+
------WebKitFormBoundarytyE4wkKlZ5CQJVTG--

0 commit comments

Comments
 (0)