UNPKG

dtp-tripwire-agent

Version:

A service for protecting your node against malicious attacks and scans.

61 lines (49 loc) 1.43 kB
// src/harness.ts // Copyright (C) 2025 DTP Technologies, LLC // All Rights Reserved // import env from "./config/env.js"; import log from "./lib/log.js"; import express, { NextFunction, Request, Response } from "express"; import Tripwire from "./service.js"; async function defaultErrorHandler( err: Error, req: Request, res: Response, next: NextFunction ) { await Tripwire.processError(err, req, res); log.error("ExpressJS error", { error: err }); res.locals.errorCode = err.statusCode || 500; res.locals.error = err; res.status(res.locals.errorCode).json({ success: false, message: err.message, }); return next(); } (async () => { try { await Tripwire.start(); const app = express(); app.use(Tripwire.middleware()); app.get("/", (_req: Request, res: Response) => { res.send("Hello World!"); }); app.use((_req: Request, _res: Response, next: NextFunction) => { const error = new Error("Not Found"); error.statusCode = 404; next(error); }); app.use(defaultErrorHandler); app.listen(3000, "127.0.0.1", 32, (error?: Error) => { if (error) { log.error("Tripwire harness has failed to start", { error }); process.exit(1); } log.info("Tripwire harness is listening on port 3000"); }); } catch (error) { log.error("Tripwire harness has failed", { error }); process.exit(1); } })();