Merge branch 'develop' into feature/11.5.2
This commit is contained in:
commit
4cabbb7d52
@ -31,10 +31,10 @@ namespace ASC.Api.Core.Middleware
|
||||
{
|
||||
public CommonApiError Error { get; set; }
|
||||
|
||||
protected internal ErrorApiResponse(HttpStatusCode statusCode, Exception error) : base(statusCode)
|
||||
protected internal ErrorApiResponse(HttpStatusCode statusCode, Exception error, string message = null) : base(statusCode)
|
||||
{
|
||||
Status = 1;
|
||||
Error = CommonApiError.FromException(error);
|
||||
Error = CommonApiError.FromException(error, message);
|
||||
}
|
||||
}
|
||||
|
||||
@ -88,11 +88,11 @@ namespace ASC.Api.Core.Middleware
|
||||
|
||||
public int Hresult { get; set; }
|
||||
|
||||
public static CommonApiError FromException(Exception exception)
|
||||
public static CommonApiError FromException(Exception exception, string message = null)
|
||||
{
|
||||
return new CommonApiError()
|
||||
{
|
||||
Message = exception.Message,
|
||||
Message = message ?? exception.Message,
|
||||
Type = exception.GetType().ToString(),
|
||||
Stack = exception.StackTrace,
|
||||
Hresult = exception.HResult
|
||||
|
@ -1,4 +1,8 @@
|
||||
using System.Net;
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Security;
|
||||
|
||||
using ASC.Common.Web;
|
||||
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Filters;
|
||||
@ -10,12 +14,33 @@ namespace ASC.Api.Core.Middleware
|
||||
public override void OnException(ExceptionContext context)
|
||||
{
|
||||
var status = (HttpStatusCode)context.HttpContext.Response.StatusCode;
|
||||
string message = null;
|
||||
|
||||
if (status == HttpStatusCode.OK)
|
||||
{
|
||||
status = HttpStatusCode.InternalServerError;
|
||||
}
|
||||
|
||||
var result = new ObjectResult(new ErrorApiResponse(status, context.Exception))
|
||||
switch (context.Exception)
|
||||
{
|
||||
case ItemNotFoundException:
|
||||
status = HttpStatusCode.NotFound;
|
||||
message = "The record could not be found";
|
||||
break;
|
||||
case ArgumentException:
|
||||
status = HttpStatusCode.BadRequest;
|
||||
message = "Invalid arguments";
|
||||
break;
|
||||
case SecurityException:
|
||||
status = HttpStatusCode.Forbidden;
|
||||
message = "Access denied";
|
||||
break;
|
||||
case InvalidOperationException:
|
||||
status = HttpStatusCode.Forbidden;
|
||||
break;
|
||||
}
|
||||
|
||||
var result = new ObjectResult(new ErrorApiResponse(status, context.Exception, message))
|
||||
{
|
||||
StatusCode = (int)status
|
||||
};
|
||||
|
@ -1156,7 +1156,7 @@ namespace ASC.Web.Files.Services.WCFService
|
||||
|
||||
if (!result.Any())
|
||||
{
|
||||
MarkAsRead(new List<JsonElement>() { JsonDocument.Parse(folderId.ToString()).RootElement }, new List<JsonElement>() { }); //TODO
|
||||
MarkAsRead(new List<JsonElement>() { JsonDocument.Parse(JsonSerializer.Serialize(folderId)).RootElement }, new List<JsonElement>() { }); //TODO
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user