jamktiko / DigiMajakka

Ticorporaten projektityö DigiMajakka
0 stars 0 forks source link

Backend virheenkäsittelijä heittää jossain tapauksissa virheen omasta toiminnastaan eikä välitä virhe ilmoitusta frontendille #167

Open KaitamakiKalle opened 1 year ago

KaitamakiKalle commented 1 year ago

pvm: 17.11.2022

ilmoitus: response.status is not function

Kuvaus: Virheen käsittelijä ei jostain syystä tunnista expressin responsen metodia status joka välittää http status koodin frontendille.

Sijainti: error-handler funktio

KaitamakiKalle commented 1 year ago

Kokeiltu korjata siirtämällä or lause (error.status || 500) omaan muuttujaansa status() metodin ulkopuolelle ja sijoittamalla kyseinen muuttuja status metodiin. Koodi: import type express from 'express';

type CustomError = { status?: number; } & Error;

const ErrorHandler = ( error: CustomError, _request: express.Request, response: express.Response, ) => { console.log('Custom error handling'); console.log('---------------------'); console.error(error.message);

const statusCode = Number(error.status) || 500;

response.status(statusCode).json({ success: false, message: error.message, }); };

export default ErrorHandler;