1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-01 16:12:49 -05:00

Revert filescoped (#2227)

* Revert "Add git blame entry (#2226)"

This reverts commit 239286737d.

* Revert "Turn on file scoped namespaces (#2225)"

This reverts commit 34fb4cca2a.
This commit is contained in:
Justin Baur
2022-08-29 15:53:48 -04:00
committed by GitHub
parent 239286737d
commit bae03feffe
1208 changed files with 74317 additions and 73126 deletions

View File

@ -8,83 +8,84 @@ using Microsoft.Extensions.Logging;
using Microsoft.IdentityModel.Tokens;
using InternalApi = Bit.Core.Models.Api;
namespace Bit.SharedWeb.Utilities;
public class ExceptionHandlerFilterAttribute : ExceptionFilterAttribute
namespace Bit.SharedWeb.Utilities
{
public ExceptionHandlerFilterAttribute()
public class ExceptionHandlerFilterAttribute : ExceptionFilterAttribute
{
}
public override void OnException(ExceptionContext context)
{
var errorMessage = "An error has occurred.";
var exception = context.Exception;
if (exception == null)
public ExceptionHandlerFilterAttribute()
{
// Should never happen.
return;
}
InternalApi.ErrorResponseModel internalErrorModel = null;
if (exception is BadRequestException badRequestException)
public override void OnException(ExceptionContext context)
{
context.HttpContext.Response.StatusCode = 400;
if (badRequestException.ModelState != null)
var errorMessage = "An error has occurred.";
var exception = context.Exception;
if (exception == null)
{
internalErrorModel = new InternalApi.ErrorResponseModel(badRequestException.ModelState);
// Should never happen.
return;
}
InternalApi.ErrorResponseModel internalErrorModel = null;
if (exception is BadRequestException badRequestException)
{
context.HttpContext.Response.StatusCode = 400;
if (badRequestException.ModelState != null)
{
internalErrorModel = new InternalApi.ErrorResponseModel(badRequestException.ModelState);
}
else
{
errorMessage = badRequestException.Message;
}
}
else if (exception is GatewayException)
{
errorMessage = exception.Message;
context.HttpContext.Response.StatusCode = 400;
}
else if (exception is NotSupportedException && !string.IsNullOrWhiteSpace(exception.Message))
{
errorMessage = exception.Message;
context.HttpContext.Response.StatusCode = 400;
}
else if (exception is ApplicationException)
{
context.HttpContext.Response.StatusCode = 402;
}
else if (exception is NotFoundException)
{
errorMessage = "Resource not found.";
context.HttpContext.Response.StatusCode = 404;
}
else if (exception is SecurityTokenValidationException)
{
errorMessage = "Invalid token.";
context.HttpContext.Response.StatusCode = 403;
}
else if (exception is UnauthorizedAccessException)
{
errorMessage = "Unauthorized.";
context.HttpContext.Response.StatusCode = 401;
}
else
{
errorMessage = badRequestException.Message;
var logger = context.HttpContext.RequestServices.GetRequiredService<ILogger<ExceptionHandlerFilterAttribute>>();
logger.LogError(0, exception, exception.Message);
errorMessage = "An unhandled server error has occurred.";
context.HttpContext.Response.StatusCode = 500;
}
}
else if (exception is GatewayException)
{
errorMessage = exception.Message;
context.HttpContext.Response.StatusCode = 400;
}
else if (exception is NotSupportedException && !string.IsNullOrWhiteSpace(exception.Message))
{
errorMessage = exception.Message;
context.HttpContext.Response.StatusCode = 400;
}
else if (exception is ApplicationException)
{
context.HttpContext.Response.StatusCode = 402;
}
else if (exception is NotFoundException)
{
errorMessage = "Resource not found.";
context.HttpContext.Response.StatusCode = 404;
}
else if (exception is SecurityTokenValidationException)
{
errorMessage = "Invalid token.";
context.HttpContext.Response.StatusCode = 403;
}
else if (exception is UnauthorizedAccessException)
{
errorMessage = "Unauthorized.";
context.HttpContext.Response.StatusCode = 401;
}
else
{
var logger = context.HttpContext.RequestServices.GetRequiredService<ILogger<ExceptionHandlerFilterAttribute>>();
logger.LogError(0, exception, exception.Message);
errorMessage = "An unhandled server error has occurred.";
context.HttpContext.Response.StatusCode = 500;
}
var errorModel = internalErrorModel ?? new InternalApi.ErrorResponseModel(errorMessage);
var env = context.HttpContext.RequestServices.GetRequiredService<IWebHostEnvironment>();
if (env.IsDevelopment())
{
errorModel.ExceptionMessage = exception.Message;
errorModel.ExceptionStackTrace = exception.StackTrace;
errorModel.InnerExceptionMessage = exception?.InnerException?.Message;
var errorModel = internalErrorModel ?? new InternalApi.ErrorResponseModel(errorMessage);
var env = context.HttpContext.RequestServices.GetRequiredService<IWebHostEnvironment>();
if (env.IsDevelopment())
{
errorModel.ExceptionMessage = exception.Message;
errorModel.ExceptionStackTrace = exception.StackTrace;
errorModel.InnerExceptionMessage = exception?.InnerException?.Message;
}
context.Result = new ObjectResult(errorModel);
}
context.Result = new ObjectResult(errorModel);
}
}

View File

@ -2,30 +2,31 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
namespace Bit.SharedWeb.Utilities;
public class ModelStateValidationFilterAttribute : ActionFilterAttribute
namespace Bit.SharedWeb.Utilities
{
public ModelStateValidationFilterAttribute()
public class ModelStateValidationFilterAttribute : ActionFilterAttribute
{
}
public override void OnActionExecuting(ActionExecutingContext context)
{
var model = context.ActionArguments.FirstOrDefault(a => a.Key == "model");
if (model.Key == "model" && model.Value == null)
public ModelStateValidationFilterAttribute()
{
context.ModelState.AddModelError(string.Empty, "Body is empty.");
}
if (!context.ModelState.IsValid)
public override void OnActionExecuting(ActionExecutingContext context)
{
OnModelStateInvalid(context);
}
}
var model = context.ActionArguments.FirstOrDefault(a => a.Key == "model");
if (model.Key == "model" && model.Value == null)
{
context.ModelState.AddModelError(string.Empty, "Body is empty.");
}
protected virtual void OnModelStateInvalid(ActionExecutingContext context)
{
context.Result = new BadRequestObjectResult(new ErrorResponseModel(context.ModelState));
if (!context.ModelState.IsValid)
{
OnModelStateInvalid(context);
}
}
protected virtual void OnModelStateInvalid(ActionExecutingContext context)
{
context.Result = new BadRequestObjectResult(new ErrorResponseModel(context.ModelState));
}
}
}

File diff suppressed because it is too large Load Diff