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,
totalChunks: totalChunks,
totalSize: totalSize,
bucket: params.bucket,
path: params.path,
bucket: params.data?.bucket,
path: params.data?.path,
fileName: fileName,
};
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
.uploadFile<OssObject>(
{
url: format(Api.Upload, { path: path, name: name }),
url: Api.Upload,
},
{
data: { path: path, object: name },
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[]) {
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 ?? []);
}

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.Wrapper;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.Options;
using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.DependencyInjection;
@ -28,9 +29,11 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Wrapper.Filters
protected virtual Task HandleAndWrapResult(ResultExecutingContext context)
{
var options = context.GetRequiredService<IOptions<AbpWrapperOptions>>().Value;
var actionResultWrapperFactory = context.GetRequiredService<IActionResultWrapperFactory>();
actionResultWrapperFactory.CreateFor(context).Wrap(context);
context.HttpContext.Response.Headers.Add(AbpHttpWrapConsts.AbpWrapResult, "true");
context.HttpContext.Response.StatusCode = (int)options.HttpStatusCode;
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 System;
using System.Linq;
using System.Reflection;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Threading;
@ -44,6 +43,11 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Wrapper
protected virtual bool CheckForBase(FilterContext context)
{
if (!Options.IsEnabled)
{
return false;
}
if (context.HttpContext.Request.Headers.ContainsKey(AbpHttpWrapConsts.AbpDontWrapResult))
{
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)
{
var options = context.GetRequiredService<IOptions<AbpWrapperOptions>>().Value;
var code = options.CodeWithEmptyResult(context.HttpContext.RequestServices);
var message = options.MessageWithEmptyResult(context.HttpContext.RequestServices);
switch (context)
{
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;
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;
}
}

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();
}
[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 Shouldly;
using System.Net.Http;
using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.Http;
@ -115,5 +116,14 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Results
result.ShouldNotBeNull();
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>();
}
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 });
}
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();
}
}
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);
if (xmlHttpRequest)

Loading…
Cancel
Save