Просмотр исходного кода

add check-communicable-to-api-server.ts

Yuki Takei 4 лет назад
Родитель
Сommit
6f6294077a

+ 1 - 0
packages/slack/package.json

@@ -15,6 +15,7 @@
     "test:lint:fix": "eslint src --ext .ts --fix"
   },
   "dependencies": {
+    "axios": "^0.21.1",
     "browser-bunyan": "^1.6.3",
     "bunyan": "^1.8.15",
     "dotenv-flow": "^3.2.0",

+ 1 - 0
packages/slack/src/index.ts

@@ -12,6 +12,7 @@ export * from './interfaces/request-from-slack';
 export * from './models/errors';
 export * from './middlewares/verify-slack-request';
 export * from './utils/block-creater';
+export * from './utils/check-communicable-to-api-server';
 export * from './utils/post-ephemeral-errors';
 export * from './utils/slash-command-parser';
 export * from './utils/webclient-factory';

+ 10 - 0
packages/slack/src/utils/check-communicable-to-api-server.ts

@@ -0,0 +1,10 @@
+import axios, { AxiosError } from 'axios';
+
+export const checkCommunicableToApiServer = async(serverUri = 'https://slack.com/api/'): Promise<void|AxiosError> => {
+  try {
+    await axios.get(serverUri, { maxRedirects: 0 });
+  }
+  catch (err) {
+    return err as AxiosError;
+  }
+};