@abtnode/router-provider 1.8.4 → 1.8.5
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.
- package/lib/nginx/index.js +51 -42
- package/package.json +6 -6
package/lib/nginx/index.js
CHANGED
|
@@ -904,62 +904,71 @@ NginxProvider.check = async ({ configDir = '' } = {}) => {
|
|
|
904
904
|
`test_nginx_provider-${Date.now()}-${Math.ceil(Math.random() * 10000)}`,
|
|
905
905
|
CONFIG_FOLDER_NAME
|
|
906
906
|
);
|
|
907
|
-
|
|
907
|
+
try {
|
|
908
|
+
fs.mkdirSync(tmpDir, { recursive: true });
|
|
909
|
+
|
|
910
|
+
const provider = new NginxProvider({ configDir: tmpDir, isTest: true });
|
|
911
|
+
provider.initialize();
|
|
912
|
+
|
|
913
|
+
logger.info('check:addTestServer', { configPath: provider.configPath });
|
|
914
|
+
await addTestServer({
|
|
915
|
+
configPath: provider.configPath,
|
|
916
|
+
port: await getPort(),
|
|
917
|
+
upstreamPort: await getPort(),
|
|
918
|
+
});
|
|
908
919
|
|
|
909
|
-
|
|
910
|
-
provider.initialize();
|
|
920
|
+
const missingModules = getMissingModules(provider.readNginxConfigParams());
|
|
911
921
|
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
922
|
+
if (missingModules.length > 0) {
|
|
923
|
+
result.available = false;
|
|
924
|
+
result.error = `Blocklet Server depends on some modules of Nginx that are not compiled: ${missingModules.join(
|
|
925
|
+
', '
|
|
926
|
+
)}`;
|
|
927
|
+
return result;
|
|
928
|
+
}
|
|
918
929
|
|
|
919
|
-
|
|
930
|
+
await provider.start();
|
|
931
|
+
await provider.stop();
|
|
920
932
|
|
|
921
|
-
|
|
933
|
+
return result;
|
|
934
|
+
} catch (error) {
|
|
922
935
|
result.available = false;
|
|
923
|
-
result.error =
|
|
924
|
-
|
|
925
|
-
)}`;
|
|
936
|
+
result.error = error.message;
|
|
937
|
+
logger.error('check nginx failed', { error });
|
|
926
938
|
return result;
|
|
939
|
+
} finally {
|
|
940
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
927
941
|
}
|
|
942
|
+
};
|
|
928
943
|
|
|
929
|
-
|
|
930
|
-
|
|
944
|
+
const hasPortPermission = async (port) => {
|
|
945
|
+
const configDir = path.join(
|
|
946
|
+
os.tmpdir(),
|
|
947
|
+
`test_nginx_provider-${Date.now()}-${Math.ceil(Math.random() * 10000)}`,
|
|
948
|
+
CONFIG_FOLDER_NAME
|
|
949
|
+
);
|
|
950
|
+
try {
|
|
951
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
952
|
+
|
|
953
|
+
const provider = new NginxProvider({ configDir, isTest: true });
|
|
954
|
+
provider.initialize();
|
|
931
955
|
|
|
932
|
-
|
|
956
|
+
await addTestServer({ configPath: provider.configPath, port });
|
|
957
|
+
await provider.start();
|
|
958
|
+
await provider.stop();
|
|
933
959
|
|
|
934
|
-
|
|
960
|
+
return true;
|
|
961
|
+
} catch (err) {
|
|
962
|
+
return false;
|
|
963
|
+
} finally {
|
|
964
|
+
fs.rmSync(configDir, { recursive: true, force: true });
|
|
965
|
+
}
|
|
935
966
|
};
|
|
936
967
|
|
|
937
968
|
NginxProvider.getStatus = getNginxStatus;
|
|
938
969
|
NginxProvider.exists = () => !!shelljs.which('nginx');
|
|
939
970
|
|
|
940
|
-
NginxProvider.getUsablePorts = async () =>
|
|
941
|
-
|
|
942
|
-
try {
|
|
943
|
-
const configDir = path.join(
|
|
944
|
-
os.tmpdir(),
|
|
945
|
-
`test_nginx_provider-${Date.now()}-${Math.ceil(Math.random() * 10000)}`,
|
|
946
|
-
CONFIG_FOLDER_NAME
|
|
947
|
-
);
|
|
948
|
-
fs.mkdirSync(configDir, { recursive: true });
|
|
949
|
-
|
|
950
|
-
const provider = new NginxProvider({ configDir, isTest: true });
|
|
951
|
-
provider.initialize();
|
|
952
|
-
|
|
953
|
-
await addTestServer({ configPath: provider.configPath, port });
|
|
954
|
-
await provider.start();
|
|
955
|
-
await provider.stop();
|
|
956
|
-
|
|
957
|
-
fs.rmSync(configDir, { recursive: true });
|
|
958
|
-
|
|
959
|
-
return true;
|
|
960
|
-
} catch (err) {
|
|
961
|
-
return false;
|
|
962
|
-
}
|
|
963
|
-
});
|
|
971
|
+
NginxProvider.getUsablePorts = async () => getUsablePorts('nginx', hasPortPermission);
|
|
972
|
+
NginxProvider.hasPortPermission = hasPortPermission;
|
|
964
973
|
|
|
965
974
|
module.exports = NginxProvider;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/router-provider",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.5",
|
|
4
4
|
"description": "Routing engine implementations for abt node",
|
|
5
5
|
"author": "polunzh <polunzh@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/ArcBlock/blocklet-server#readme",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
"url": "https://github.com/ArcBlock/blocklet-server/issues"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@abtnode/constant": "1.8.
|
|
36
|
-
"@abtnode/logger": "1.8.
|
|
37
|
-
"@abtnode/router-templates": "1.8.
|
|
38
|
-
"@abtnode/util": "1.8.
|
|
35
|
+
"@abtnode/constant": "1.8.5",
|
|
36
|
+
"@abtnode/logger": "1.8.5",
|
|
37
|
+
"@abtnode/router-templates": "1.8.5",
|
|
38
|
+
"@abtnode/util": "1.8.5",
|
|
39
39
|
"axios": "^0.27.2",
|
|
40
40
|
"debug": "^4.3.3",
|
|
41
41
|
"find-process": "^1.4.3",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"fs-extra": "^10.0.1",
|
|
63
63
|
"needle": "^3.0.0"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "58da88581cdf1dd45fd50e56db08a055be82626e"
|
|
66
66
|
}
|