mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-04-06 00:32:12 +02:00
add http test server
This commit is contained in:
39
TestServer/API/Main.ts
Normal file
39
TestServer/API/Main.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import LocalCache from 'CommonServer/Infrastructure/LocalCache';
|
||||
import Express, {
|
||||
ExpressRequest,
|
||||
ExpressResponse,
|
||||
ExpressRouter,
|
||||
NextFunction,
|
||||
} from 'CommonServer/Utils/Express';
|
||||
import Response from 'CommonServer/Utils/Response';
|
||||
import Sleep from 'Common/Types/Sleep';
|
||||
|
||||
const router: ExpressRouter = Express.getRouter();
|
||||
|
||||
router.get(
|
||||
'/',
|
||||
async (
|
||||
req: ExpressRequest,
|
||||
res: ExpressResponse,
|
||||
next: NextFunction
|
||||
): Promise<void> => {
|
||||
try {
|
||||
|
||||
const responseCode: number | undefined =LocalCache.getNumber('TestServer', 'responseCode') || 200;
|
||||
const responseTime: number | undefined =LocalCache.getNumber('TestServer', 'responseTime') || 0;
|
||||
const responseBody: string | undefined =LocalCache.getString('TestServer', 'responseBody') || '';
|
||||
|
||||
if(responseTime > 0){
|
||||
await Sleep.sleep(responseTime);
|
||||
}
|
||||
|
||||
// middleware marks the probe as alive.
|
||||
// so we dont need to do anything here.
|
||||
return Response.sendCustomResponse(req, res, responseCode, responseBody);
|
||||
} catch (err) {
|
||||
return next(err);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
export default router;
|
||||
45
TestServer/API/Settings.ts
Normal file
45
TestServer/API/Settings.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import LocalCache from 'CommonServer/Infrastructure/LocalCache';
|
||||
import Express, {
|
||||
ExpressRequest,
|
||||
ExpressResponse,
|
||||
ExpressRouter,
|
||||
NextFunction,
|
||||
} from 'CommonServer/Utils/Express';
|
||||
import Response from 'CommonServer/Utils/Response';
|
||||
import { JSONObject} from 'Common/Types/JSON';
|
||||
|
||||
const router: ExpressRouter = Express.getRouter();
|
||||
|
||||
router.post(
|
||||
'/settings',
|
||||
async (
|
||||
req: ExpressRequest,
|
||||
res: ExpressResponse,
|
||||
next: NextFunction
|
||||
): Promise<void> => {
|
||||
try {
|
||||
|
||||
|
||||
const data: JSONObject = req.body;
|
||||
|
||||
const responseType: string | undefined = data['responseType'] as string | undefined;
|
||||
const responseCode: number | undefined = data['responseCode'] as number | undefined;
|
||||
const responseTime: number | undefined = data['responseTime'] as number | undefined;
|
||||
const responseBody: string | undefined = data['responseBody'] as string | undefined;
|
||||
|
||||
|
||||
LocalCache.setString('TestServer', 'responseType', responseType || 'JSON');
|
||||
LocalCache.setNumber('TestServer', 'responseCode', responseCode || 200);
|
||||
LocalCache.setNumber('TestServer', 'responseTime', responseTime || 0);
|
||||
LocalCache.setString('TestServer', 'responseBody', responseBody || '');
|
||||
|
||||
// middleware marks the probe as alive.
|
||||
// so we dont need to do anything here.
|
||||
return Response.sendEmptyResponse(req, res);
|
||||
} catch (err) {
|
||||
return next(err);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
export default router;
|
||||
Reference in New Issue
Block a user