Skip to content

Commit d3f53e1

Browse files
committed
#60 support node v10
1 parent cf552ab commit d3f53e1

File tree

5 files changed

+30
-10
lines changed

5 files changed

+30
-10
lines changed

.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ config/
33
data/
44
node_modules/
55
build.js
6+
externs.js
67
changes_before_git.txt
78
package-lock.json
89
rtjscomp.json

build.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ let code = (await readFile('rtjscomp.js', 'utf8'))
4242
.replace(
4343
'await import(',
4444
'await import_hiddenfromgcc('
45+
)
46+
.replaceAll(
47+
'parseInt(',
48+
'parseInt_hiddenfromgcc('
4549
);
4650

4751
let name_count = 0;
@@ -62,6 +66,7 @@ execSync(
6266
GCC_COMMAND +
6367
[
6468
'compilation_level SIMPLE',
69+
'externs externs.js',
6570
'js /tmp/rtjscomp.js',
6671
'js_output_file /tmp/rtjscomp.min.js',
6772
'language_out ECMASCRIPT_2017',
@@ -82,6 +87,10 @@ await writeFile(
8287
.replace(
8388
'await import_hiddenfromgcc(',
8489
'await import('
90+
)
91+
.replaceAll(
92+
'parseInt_hiddenfromgcc(',
93+
'parseInt('
8594
),
8695
'ascii'
8796
);

externs.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/** @externs */
2+
3+
/**
4+
@param {string} num
5+
@return {number}
6+
*/
7+
function parseInt_hiddenfromgcc(num) {}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rtjscomp",
3-
"version": "0.9.14",
3+
"version": "0.9.15",
44
"description": "php-like server but with javascript",
55
"repository": {
66
"type": "git",

rtjscomp.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
// node libs
1111
const fs = require('fs');
12-
const fsp = require('fs/promises');
12+
const fsp = fs.promises;
1313
const http = require('http');
1414
const url = require('url');
1515
const zlib = require('zlib');
@@ -969,14 +969,17 @@ const querystring_parse = (querystring, result) => {
969969

970970
const request_handle = async (request, response, https) => {
971971
const request_method = request.method;
972+
const request_method_head = request_method === 'HEAD';
972973
const request_headers = request.headers;
973974
const request_ip = (
974-
request_headers['x-forwarded-for']
975-
?.split(HTTP_LIST_REG)
976-
.findLast(addr => !IPS_PRIVATE.test(addr)) ||
975+
('x-forwarded-for' in request_headers) && (
976+
request_headers['x-forwarded-for']
977+
.split(HTTP_LIST_REG)
978+
.reverse()
979+
.find(addr => !IPS_PRIVATE.test(addr))
980+
) ||
977981
request.socket.remoteAddress
978982
);
979-
const request_method_head = request_method === 'HEAD';
980983

981984
if ('x-forwarded-proto' in request_headers) {
982985
https = request_headers['x-forwarded-proto'] === 'https';
@@ -1076,7 +1079,7 @@ const request_handle = async (request, response, https) => {
10761079
) {
10771080
if (!file_dyn_enabled) throw 405;
10781081
if ('content-length' in request_headers) {
1079-
const content_length = Number(request_headers['content-length']);
1082+
const content_length = parseInt(request_headers['content-length']);
10801083
if (
10811084
isNaN(content_length) ||
10821085
content_length < 0 ||
@@ -1698,7 +1701,7 @@ process.on('SIGTERM', actions.exit);
16981701
log(`rtjscomp v${
16991702
VERSION
17001703
} in ${
1701-
IS_BUN ? 'bun' : 'node'
1704+
IS_BUN ? 'bun v' + Bun.version : 'node ' + process.version
17021705
} on ${
17031706
process.platform
17041707
.replace('win32', 'windows')
@@ -1787,13 +1790,13 @@ await file_keep_new(PATH_CONFIG + 'init.js', async data => {
17871790
json['path_aliases'] = parse_old_map(old_path_aliases);
17881791
}
17891792
if (old_port_http) {
1790-
const number = Number(old_port_http);
1793+
const number = parseInt(old_port_http);
17911794
if (!isNaN(number)) {
17921795
json['port_http'] = number;
17931796
}
17941797
}
17951798
if (old_port_https) {
1796-
const number = Number(old_port_https);
1799+
const number = parseInt(old_port_https);
17971800
if (!isNaN(number)) {
17981801
json['port_https'] = number;
17991802
}

0 commit comments

Comments
 (0)