@abtnode/router-provider 1.8.2 → 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.
Files changed (2) hide show
  1. package/lib/nginx/index.js +51 -42
  2. package/package.json +6 -6
@@ -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
- fs.mkdirSync(tmpDir, { recursive: true });
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
- const provider = new NginxProvider({ configDir: tmpDir, isTest: true });
910
- provider.initialize();
920
+ const missingModules = getMissingModules(provider.readNginxConfigParams());
911
921
 
912
- logger.info('check:addTestServer', { configPath: provider.configPath });
913
- await addTestServer({
914
- configPath: provider.configPath,
915
- port: await getPort(),
916
- upstreamPort: await getPort(),
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
- const missingModules = getMissingModules(provider.readNginxConfigParams());
930
+ await provider.start();
931
+ await provider.stop();
920
932
 
921
- if (missingModules.length > 0) {
933
+ return result;
934
+ } catch (error) {
922
935
  result.available = false;
923
- result.error = `Blocklet Server depends on some modules of Nginx that are not compiled: ${missingModules.join(
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
- await provider.start();
930
- await provider.stop();
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
- fs.rmSync(tmpDir, { recursive: true });
956
+ await addTestServer({ configPath: provider.configPath, port });
957
+ await provider.start();
958
+ await provider.stop();
933
959
 
934
- return result;
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
- getUsablePorts('nginx', async (port) => {
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.2",
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.2",
36
- "@abtnode/logger": "1.8.2",
37
- "@abtnode/router-templates": "1.8.2",
38
- "@abtnode/util": "1.8.2",
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": "fcbe3c97f3825c507ee16714f49bbf8f58c5b59f"
65
+ "gitHead": "58da88581cdf1dd45fd50e56db08a055be82626e"
66
66
  }