Browse Source

Merge pull request #443 from colinin/5.0.0

fixed some issues
pull/474/head
yx lin 4 years ago
committed by GitHub
parent
commit
31cd866c10
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      apps/vue/src/api/oss-management/oss.ts
  2. 3
      apps/vue/src/api/oss-management/public.ts
  3. 3
      apps/vue/src/hooks/abp/useLocalization.ts
  4. 3
      aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/Wrapper/Filters/AbpWrapResultFilter.cs
  5. 6
      aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/Wrapper/WrapResultChecker.cs
  6. 20
      aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/Wrapper/Wraping/EmptyActionResultWrapper.cs
  7. 7
      aspnet-core/tests/LINGYUN.Abp.AspNetCore.Mvc.Tests/LINGYUN/Abp/AspNetCore/Mvc/Results/WrapResultController.cs
  8. 10
      aspnet-core/tests/LINGYUN.Abp.AspNetCore.Mvc.Tests/LINGYUN/Abp/AspNetCore/Mvc/Results/WrapResultController_Tests.cs
  9. 12
      aspnet-core/tests/LINGYUN.Abp.AspNetCore.Tests/LINGYUN/Abp/AspNetCore/AbpAspNetCoreTestBase.cs

4
apps/vue/src/api/oss-management/oss.ts

@ -103,8 +103,8 @@ export const uploadObject = (params: UploadFileParams, event: any) => {
currentChunkSize: currentChunksSize, currentChunkSize: currentChunksSize,
totalChunks: totalChunks, totalChunks: totalChunks,
totalSize: totalSize, totalSize: totalSize,
bucket: params.bucket, bucket: params.data?.bucket,
path: params.path, path: params.data?.path,
fileName: fileName, fileName: fileName,
}; };
return defAbpHttp return defAbpHttp

3
apps/vue/src/api/oss-management/public.ts

@ -20,9 +20,10 @@ export const upload = (file: Blob, path: string, name: string) => {
defHttp defHttp
.uploadFile<OssObject>( .uploadFile<OssObject>(
{ {
url: format(Api.Upload, { path: path, name: name }), url: Api.Upload,
}, },
{ {
data: { path: path, object: name },
file: file, file: file,
}, },
) )

3
apps/vue/src/hooks/abp/useLocalization.ts

@ -20,7 +20,8 @@ export function useLocalization(resourceName: string, ...mergeResources: string[
function L(key: string, ...args: any[]) { function L(key: string, ...args: any[]) {
if (!key) return ''; if (!key) return '';
if (!getResource.value[key]) return key; if (!getResource.value) return key;
if (!Reflect.has(getResource.value, key)) return key;
return format(getResource.value[key], args ?? []); return format(getResource.value[key], args ?? []);
} }

3
aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/Wrapper/Filters/AbpWrapResultFilter.cs

@ -1,6 +1,7 @@
using LINGYUN.Abp.AspNetCore.Mvc.Wrapper.Wraping; using LINGYUN.Abp.AspNetCore.Mvc.Wrapper.Wraping;
using LINGYUN.Abp.Wrapper; using LINGYUN.Abp.Wrapper;
using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.Options;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
@ -28,9 +29,11 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Wrapper.Filters
protected virtual Task HandleAndWrapResult(ResultExecutingContext context) protected virtual Task HandleAndWrapResult(ResultExecutingContext context)
{ {
var options = context.GetRequiredService<IOptions<AbpWrapperOptions>>().Value;
var actionResultWrapperFactory = context.GetRequiredService<IActionResultWrapperFactory>(); var actionResultWrapperFactory = context.GetRequiredService<IActionResultWrapperFactory>();
actionResultWrapperFactory.CreateFor(context).Wrap(context); actionResultWrapperFactory.CreateFor(context).Wrap(context);
context.HttpContext.Response.Headers.Add(AbpHttpWrapConsts.AbpWrapResult, "true"); context.HttpContext.Response.Headers.Add(AbpHttpWrapConsts.AbpWrapResult, "true");
context.HttpContext.Response.StatusCode = (int)options.HttpStatusCode;
return Task.CompletedTask; return Task.CompletedTask;
} }

6
aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/Wrapper/WrapResultChecker.cs

@ -6,7 +6,6 @@ using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System; using System;
using System.Linq; using System.Linq;
using System.Reflection;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Threading; using Volo.Abp.Threading;
@ -44,6 +43,11 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Wrapper
protected virtual bool CheckForBase(FilterContext context) protected virtual bool CheckForBase(FilterContext context)
{ {
if (!Options.IsEnabled)
{
return false;
}
if (context.HttpContext.Request.Headers.ContainsKey(AbpHttpWrapConsts.AbpDontWrapResult)) if (context.HttpContext.Request.Headers.ContainsKey(AbpHttpWrapConsts.AbpDontWrapResult))
{ {
return false; return false;

20
aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/Wrapper/Wraping/EmptyActionResultWrapper.cs

@ -11,16 +11,28 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Wrapper.Wraping
public void Wrap(FilterContext context) public void Wrap(FilterContext context)
{ {
var options = context.GetRequiredService<IOptions<AbpWrapperOptions>>().Value; var options = context.GetRequiredService<IOptions<AbpWrapperOptions>>().Value;
var code = options.CodeWithEmptyResult(context.HttpContext.RequestServices);
var message = options.MessageWithEmptyResult(context.HttpContext.RequestServices);
switch (context) switch (context)
{ {
case ResultExecutingContext resultExecutingContext: case ResultExecutingContext resultExecutingContext:
resultExecutingContext.Result = new ObjectResult(new WrapResult(code, message)); if (options.ErrorWithEmptyResult)
{
var code = options.CodeWithEmptyResult(context.HttpContext.RequestServices);
var message = options.MessageWithEmptyResult(context.HttpContext.RequestServices);
resultExecutingContext.Result = new ObjectResult(new WrapResult(code, message));
return;
}
resultExecutingContext.Result = new ObjectResult(new WrapResult(options.CodeWithSuccess, result: null));
return; return;
case PageHandlerExecutedContext pageHandlerExecutedContext: case PageHandlerExecutedContext pageHandlerExecutedContext:
pageHandlerExecutedContext.Result = new ObjectResult(new WrapResult(code, message)); if (options.ErrorWithEmptyResult)
{
var code = options.CodeWithEmptyResult(context.HttpContext.RequestServices);
var message = options.MessageWithEmptyResult(context.HttpContext.RequestServices);
pageHandlerExecutedContext.Result = new ObjectResult(new WrapResult(code, message));
return;
}
pageHandlerExecutedContext.Result = new ObjectResult(new WrapResult(options.CodeWithSuccess, result: null));
return; return;
} }
} }

7
aspnet-core/tests/LINGYUN.Abp.AspNetCore.Mvc.Tests/LINGYUN/Abp/AspNetCore/Mvc/Results/WrapResultController.cs

@ -90,5 +90,12 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Results
{ {
throw new HasDbException(); throw new HasDbException();
} }
[HttpPut]
[Route("not-wrap-204")]
public Task NotWrapWith204()
{
return Task.CompletedTask;
}
} }
} }

10
aspnet-core/tests/LINGYUN.Abp.AspNetCore.Mvc.Tests/LINGYUN/Abp/AspNetCore/Mvc/Results/WrapResultController_Tests.cs

@ -1,5 +1,6 @@
using LINGYUN.Abp.Wrapper; using LINGYUN.Abp.Wrapper;
using Shouldly; using Shouldly;
using System.Net.Http;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations; using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.Http; using Volo.Abp.Http;
@ -115,5 +116,14 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Results
result.ShouldNotBeNull(); result.ShouldNotBeNull();
result.Name.ShouldBe("Not Wrap"); result.Name.ShouldBe("Not Wrap");
} }
[Fact]
public async Task Should_Return_Not_Wrap_Result_For_Response_204()
{
var result = await GetResponseAsObjectAsync<WrapResult>("/api/wrap-result-test/not-wrap-204", System.Net.HttpStatusCode.OK, method: HttpMethod.Put);
result.ShouldNotBeNull();
result.Code.ShouldBe("0");
result.Result.ShouldBeNull();
}
} }
} }

12
aspnet-core/tests/LINGYUN.Abp.AspNetCore.Tests/LINGYUN/Abp/AspNetCore/AbpAspNetCoreTestBase.cs

@ -26,23 +26,23 @@ namespace LINGYUN.Abp.AspNetCore
RequestHeaders = new Dictionary<string, string>(); RequestHeaders = new Dictionary<string, string>();
} }
protected virtual async Task<T> GetResponseAsObjectAsync<T>(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK, bool xmlHttpRequest = false) protected virtual async Task<T> GetResponseAsObjectAsync<T>(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK, bool xmlHttpRequest = false, HttpMethod method = null)
{ {
var strResponse = await GetResponseAsStringAsync(url, expectedStatusCode, xmlHttpRequest); var strResponse = await GetResponseAsStringAsync(url, expectedStatusCode, xmlHttpRequest, method);
return JsonSerializer.Deserialize<T>(strResponse, new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); return JsonSerializer.Deserialize<T>(strResponse, new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase });
} }
protected virtual async Task<string> GetResponseAsStringAsync(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK, bool xmlHttpRequest = false) protected virtual async Task<string> GetResponseAsStringAsync(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK, bool xmlHttpRequest = false, HttpMethod method = null)
{ {
using (var response = await GetResponseAsync(url, expectedStatusCode, xmlHttpRequest)) using (var response = await GetResponseAsync(url, expectedStatusCode, xmlHttpRequest, method))
{ {
return await response.Content.ReadAsStringAsync(); return await response.Content.ReadAsStringAsync();
} }
} }
protected virtual async Task<HttpResponseMessage> GetResponseAsync(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK, bool xmlHttpRequest = false) protected virtual async Task<HttpResponseMessage> GetResponseAsync(string url, HttpStatusCode expectedStatusCode = HttpStatusCode.OK, bool xmlHttpRequest = false, HttpMethod method = null)
{ {
using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, url)) using (var requestMessage = new HttpRequestMessage(method ?? HttpMethod.Get, url))
{ {
requestMessage.Headers.Add("Accept-Language", CultureInfo.CurrentUICulture.Name); requestMessage.Headers.Add("Accept-Language", CultureInfo.CurrentUICulture.Name);
if (xmlHttpRequest) if (xmlHttpRequest)

Loading…
Cancel
Save