public async Task Invoke(HttpContext httpContext) { try { await _next.Invoke(httpContext);//goto next middleware } catch (Exception ex) { httpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; httpContext.Response.ContentType = "application/json"; var error = new CustomeServerErrorMsg(DateTime.UtcNow, "Internal server error"); string jsonString = JsonSerializer.Serialize(error); _logger.LogError($"Reference Number {error.ReferenceNumber}"); _logger.LogError(ex.Message); await httpContext.Response.WriteAsync(jsonString, Encoding.UTF8); } }
public BankAccountException(CustomeServerErrorMsg errorMsg) { ErrorMsg = errorMsg; }