Compare commits

..

5 Commits

4 changed files with 14 additions and 24 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ namespace PortBlog.API.Controllers
catch (Exception ex)
{
logger.LogCritical(ex, "Exception while sending OTP for {ToEmail}.", messageSendDto.ToEmail);
return StatusCode(500, ex.Message);
return StatusCode(500, "A problem happened while handling your request.");
}
}
+2 -2
View File
@@ -262,8 +262,8 @@ namespace PortBlog.API.Controllers
}
catch (Exception ex)
{
_logger.LogCritical(ex, "Exception while sending message from {Name}.", message.Name);
return StatusCode(500, ex.Message);
_logger.LogCritical($"Exception while sending message from {message.Name}.", ex);
return StatusCode(500, "A problem happened while handling your request.");
}
}
}
+3 -15
View File
@@ -33,26 +33,14 @@ Log.Logger = loggerConfiguration
.WriteTo.File("logs/portblog.txt", rollingInterval: RollingInterval.Day)
.CreateLogger();
var urlsSection = builder.Configuration.GetSection("Urls");
var urlsValue = urlsSection.Value;
var urls = builder.Configuration.GetSection("Urls");
if (!string.IsNullOrWhiteSpace(urlsValue))
if (!string.IsNullOrEmpty(urls.Value))
{
var allowedUrlsToUse = urlsValue
.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)
.Where(u => Uri.IsWellFormedUriString(u, UriKind.Absolute))
.ToArray();
var allowedUrlsToUse = urls.Value.Split(',');
if (allowedUrlsToUse.Length > 0)
{
builder.WebHost.UseUrls(allowedUrlsToUse);
}
else
{
// optionally log or throw depending on desired behavior
Log.Warning("Configured 'Urls' section was present but no valid URLs were found.");
}
}
var allowedCorsOrigins = builder.Configuration.GetSection("AllowedCorsOrigins");
string[] origins = [];
+7 -5
View File
@@ -67,14 +67,16 @@ namespace PortBlog.API.Services
}
catch (Exception ex)
{
// Log full exception and persist failed message.
logger.LogCritical(ex, "Exception while sending mail from {FromEmail} ({Name}).", messageSendDto.FromEmail, messageSendDto.Name);
logger.LogCritical(
"Exception while sending mail from {FromEmail} ({Name}): {Exception}",
messageSendDto.FromEmail,
messageSendDto.Name,
ex.Message
);
messageSendDto.SentStatus = (int)MailConstants.MailStatus.Failed;
mailRepository.AddMessage(messageEntity);
await mailRepository.SaveChangesAsync();
// Throw a descriptive exception so callers can return an error message to the client.
throw new InvalidOperationException($"Failed to send email to '{messageSendDto.ToEmail}'. See inner exception for details.", ex);
throw new Exception();
}
}
}