Browse Source

Merge pull request #809 from colinin/fix-wrapper-http-response-header

fix(wrapper): repeated response header
pull/819/head
yx lin 3 years ago
committed by GitHub
parent
commit
1516c1c899
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Idempotent.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/Idempotent/Wrapper/IdempotentHttpResponseWrapper.cs
  2. 3
      aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/HttpResponseWrapper.cs

3
aspnet-core/modules/mvc/LINGYUN.Abp.AspNetCore.Mvc.Idempotent.Wrapper/LINGYUN/Abp/AspNetCore/Mvc/Idempotent/Wrapper/IdempotentHttpResponseWrapper.cs

@ -25,8 +25,11 @@ public class IdempotentHttpResponseWrapper : HttpResponseWrapper, ITransientDepe
public override void Wrap(HttpResponseWrapperContext context) public override void Wrap(HttpResponseWrapperContext context)
{ {
if (context.HttpContext.Items.TryGetValue(nameof(IdempotentAttribute.RedirectUrl), out var redirectUrl) && redirectUrl != null) if (context.HttpContext.Items.TryGetValue(nameof(IdempotentAttribute.RedirectUrl), out var redirectUrl) && redirectUrl != null)
{
if (!context.HttpContext.Response.Headers.ContainsKey(AbpHttpWrapConsts.AbpWrapResult))
{ {
context.HttpContext.Response.Headers.Add(AbpHttpWrapConsts.AbpWrapResult, "true"); context.HttpContext.Response.Headers.Add(AbpHttpWrapConsts.AbpWrapResult, "true");
}
context.HttpContext.Response.Redirect(redirectUrl.ToString()); context.HttpContext.Response.Redirect(redirectUrl.ToString());
return; return;
} }

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

@ -21,9 +21,12 @@ public class HttpResponseWrapper : IHttpResponseWrapper, ITransientDependency
if (context.HttpHeaders != null) if (context.HttpHeaders != null)
{ {
foreach (var header in context.HttpHeaders) foreach (var header in context.HttpHeaders)
{
if (!context.HttpContext.Response.Headers.ContainsKey(header.Key))
{ {
context.HttpContext.Response.Headers.Add(header.Key, header.Value); context.HttpContext.Response.Headers.Add(header.Key, header.Value);
} }
} }
} }
} }
}

Loading…
Cancel
Save