mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-03 23:26:09 +00:00
Add status api
This commit is contained in:
+7
-1
@@ -1,7 +1,7 @@
|
|||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
const { patchRouterParam } = require('./utils/patchAsyncRoutes');
|
const { patchRouterParam } = require('./utils/patchAsyncRoutes');
|
||||||
|
|
||||||
import express from 'express';
|
import express, { Request, Response } from 'express';
|
||||||
import helmet from 'helmet';
|
import helmet from 'helmet';
|
||||||
import cors from 'cors';
|
import cors from 'cors';
|
||||||
import cookieParser from 'cookie-parser';
|
import cookieParser from 'cookie-parser';
|
||||||
@@ -43,6 +43,8 @@ import {
|
|||||||
apiKeyData as v2APIKeyDataRouter,
|
apiKeyData as v2APIKeyDataRouter,
|
||||||
} from './routes/v2';
|
} from './routes/v2';
|
||||||
|
|
||||||
|
import { healthCheck } from './routes/status';
|
||||||
|
|
||||||
import { getLogger } from './utils/logger';
|
import { getLogger } from './utils/logger';
|
||||||
import { RouteNotFoundError } from './utils/errors';
|
import { RouteNotFoundError } from './utils/errors';
|
||||||
import { requestErrorHandler } from './middleware/requestErrorHandler';
|
import { requestErrorHandler } from './middleware/requestErrorHandler';
|
||||||
@@ -101,6 +103,10 @@ app.use('/api/v2/secret', v2SecretRouter);
|
|||||||
app.use('/api/v2/service-token', v2ServiceTokenDataRouter);
|
app.use('/api/v2/service-token', v2ServiceTokenDataRouter);
|
||||||
app.use('/api/v2/api-key-data', v2APIKeyDataRouter);
|
app.use('/api/v2/api-key-data', v2APIKeyDataRouter);
|
||||||
|
|
||||||
|
|
||||||
|
// Server status
|
||||||
|
app.use('/api', healthCheck)
|
||||||
|
|
||||||
//* Handle unrouted requests and respond with proper error message as well as status code
|
//* Handle unrouted requests and respond with proper error message as well as status code
|
||||||
app.use((req, res, next) => {
|
app.use((req, res, next) => {
|
||||||
if (res.headersSent) return next();
|
if (res.headersSent) return next();
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ const apiLimiter = rateLimit({
|
|||||||
max: 450,
|
max: 450,
|
||||||
standardHeaders: true,
|
standardHeaders: true,
|
||||||
legacyHeaders: false,
|
legacyHeaders: false,
|
||||||
skip: (request) => request.path === '/healthcheck'
|
skip: (request) => {
|
||||||
|
return request.path === '/healthcheck' || request.path === '/api/status'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 5 requests per hour
|
// 5 requests per hour
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import healthCheck from './healthCheck';
|
||||||
|
|
||||||
|
export {
|
||||||
|
healthCheck
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import express, { Request, Response } from 'express';
|
||||||
|
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/status',
|
||||||
|
(req: Request, res: Response) => {
|
||||||
|
res.status(200).json({
|
||||||
|
date: new Date(),
|
||||||
|
message: 'Ok',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default router
|
||||||
Reference in New Issue
Block a user