public async Task InvokeAsync(HttpContext context)
{
object message = null;
try
{
await _next(context);
}
catch (AuthorizationException e)
{
context.Response.StatusCode = StatusCodes.Status401Unauthorized;
message = new ExceptionMessage(StatusCodes.Status401Unauthorized, e.Message);
}
catch (AspectException e)
{
context.Response.StatusCode = StatusCodes.Status500InternalServerError;
message = new ExceptionMessage(StatusCodes.Status500InternalServerError, ASPECT_ERROR_MESSAGE);
}
catch (Exception e)
{
context.Response.StatusCode = StatusCodes.Status500InternalServerError;
message = new ExceptionMessage(StatusCodes.Status500InternalServerError, SERVER_ERROR_MESSAGE);
}
if (message != null)
{
await context.Response.WriteAsync(JsonConvert.SerializeObject(message));
}
}
}