From 9d510bce687f60f765a99cb1300309578a9d4414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Sat, 28 Apr 2018 15:51:45 +0300 Subject: [PATCH] Refactored --- .../AspNetCore/Mvc/ExceptionHandling/AbpExceptionFilter.cs | 6 ++++-- .../ExceptionHandling/AbpExceptionHandlingMiddleware.cs | 2 +- .../Client/DynamicProxying/DynamicHttpProxyInterceptor.cs | 2 +- src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs | 7 +++++++ .../Uow/UnitOfWorkMiddleware_Exception_Rollback_Tests.cs | 2 +- 5 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs diff --git a/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/AbpExceptionFilter.cs b/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/AbpExceptionFilter.cs index 1901294def..0851543f10 100644 --- a/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/AbpExceptionFilter.cs +++ b/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/AbpExceptionFilter.cs @@ -65,8 +65,10 @@ namespace Volo.Abp.AspNetCore.Mvc.ExceptionHandling protected virtual void HandleAndWrapException(ExceptionContext context) { - context.HttpContext.Response.StatusCode = (int)_statusCodeFinder.GetStatusCode(context.HttpContext, context.Exception); - context.HttpContext.Response.Headers.Add(new KeyValuePair("_AbpErrorFormat", "true")); + context.HttpContext.Response.Headers.Add(AbpHttpConsts.AbpErrorFormat, "true"); + + context.HttpContext.Response.StatusCode = + (int)_statusCodeFinder.GetStatusCode(context.HttpContext, context.Exception); context.Result = new ObjectResult( new RemoteServiceErrorResponse( diff --git a/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/AbpExceptionHandlingMiddleware.cs b/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/AbpExceptionHandlingMiddleware.cs index 852a335be0..071ca10d23 100644 --- a/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/AbpExceptionHandlingMiddleware.cs +++ b/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/AbpExceptionHandlingMiddleware.cs @@ -66,7 +66,7 @@ namespace Volo.Abp.AspNetCore.Mvc.ExceptionHandling httpContext.Response.Clear(); httpContext.Response.StatusCode = (int)statusCodeFinder.GetStatusCode(httpContext, exception); httpContext.Response.OnStarting(_clearCacheHeadersDelegate, httpContext.Response); - httpContext.Response.Headers.Add(new KeyValuePair("_AbpErrorFormat", "true")); //TODO: Constant + httpContext.Response.Headers.Add(AbpHttpConsts.AbpErrorFormat, "true"); await httpContext.Response.WriteAsync( jsonSerializer.Serialize( diff --git a/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs index 85531f37db..350a88a17a 100644 --- a/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs @@ -209,7 +209,7 @@ namespace Volo.Abp.Http.Client.DynamicProxying private async Task ThrowExceptionForResponseAsync(HttpResponseMessage response) { - if (response.Headers.Contains("_AbpErrorFormat")) + if (response.Headers.Contains(AbpHttpConsts.AbpErrorFormat)) { var errorResponse = _jsonSerializer.Deserialize( await response.Content.ReadAsStringAsync() diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs b/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs new file mode 100644 index 0000000000..600e5a5172 --- /dev/null +++ b/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs @@ -0,0 +1,7 @@ +namespace Volo.Abp.Http +{ + public static class AbpHttpConsts + { + public const string AbpErrorFormat = "_AbpErrorFormat"; + } +} diff --git a/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Uow/UnitOfWorkMiddleware_Exception_Rollback_Tests.cs b/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Uow/UnitOfWorkMiddleware_Exception_Rollback_Tests.cs index 28eb71f624..0fc24dee04 100644 --- a/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Uow/UnitOfWorkMiddleware_Exception_Rollback_Tests.cs +++ b/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Uow/UnitOfWorkMiddleware_Exception_Rollback_Tests.cs @@ -24,7 +24,7 @@ namespace Volo.Abp.AspNetCore.Mvc.Uow { var response = await GetResponseAsync("/api/unitofwork-test/ExceptionOnComplete", HttpStatusCode.InternalServerError); - response.Headers.GetValues("_AbpErrorFormat").FirstOrDefault().ShouldBe("true"); + response.Headers.GetValues(AbpHttpConsts.AbpErrorFormat).FirstOrDefault().ShouldBe("true"); var resultAsString = await response.Content.ReadAsStringAsync();