refactor: rename email-server-worker to email-worker
Rename directory from email-server-worker to email-worker for clarity and brevity. Update all references in CLAUDE.md documentation.
This commit is contained in:
34
email-worker/src/routes/finalErrorRouter.ts
Normal file
34
email-worker/src/routes/finalErrorRouter.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { ErrorRequestHandler, Request, Response } from "express";
|
||||
import { HttpError } from "http-errors";
|
||||
import { createLogger } from '../lib/logger';
|
||||
import { NgitLocals } from "../types/NgitLocals";
|
||||
|
||||
const consoleLog = createLogger("server:server");
|
||||
|
||||
/**
|
||||
* Router koji se izvršava u slučaju grube greške koja nije obrađena nigdje prije
|
||||
* @param err error objekt
|
||||
* @param req express request
|
||||
* @param res express response
|
||||
* @param next
|
||||
*/
|
||||
export const finalErrorRouter:ErrorRequestHandler = async (err:HttpError, req, res, next) => {
|
||||
|
||||
const errorLogText:string = JSON.stringify({ message:err.message, name:err.name, stack:err.stack });
|
||||
|
||||
consoleLog(`Server Error ${err.status}\n${errorLogText}`);
|
||||
|
||||
// `headersSent` će biti TRUE ako je router kod kojeg se dogodila greška već poslao header-e
|
||||
// > ako ih probam ponovo postaviti, to će baciti grešku i u ovom slučaju SRUŠITI SERVER - to ne smijemo dopustiti
|
||||
if(!res.headersSent) {
|
||||
res.status(err.status);
|
||||
res.setHeader('Content-Type', "text/html");
|
||||
res.end(`unhandled server error`);
|
||||
} else {
|
||||
// AKO nije pozvan `end` - pozovi ga i završi obradu zahtjeva
|
||||
// ... u suprotnom će konekcija ostati otvorena do timeout-a
|
||||
if(!res.writableEnded) {
|
||||
res.end();
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user