diff --git a/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Http/AbpHttpRequestExtensions.cs b/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Http/AbpHttpRequestExtensions.cs index 4ccfdd23c1..e121f6c3f7 100644 --- a/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Http/AbpHttpRequestExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Http/AbpHttpRequestExtensions.cs @@ -1,23 +1,18 @@ -using JetBrains.Annotations; +using System; +using JetBrains.Annotations; +using Microsoft.Net.Http.Headers; using Volo.Abp; namespace Microsoft.AspNetCore.Http { public static class AbpHttpRequestExtensions { - private const string RequestedWithHeader = "X-Requested-With"; - private const string XmlHttpRequest = "XMLHttpRequest"; - public static bool IsAjax([NotNull]this HttpRequest request) { Check.NotNull(request, nameof(request)); - if (request.Headers == null) - { - return false; - } - - return request.Headers[RequestedWithHeader] == XmlHttpRequest; + return string.Equals(request.Query[HeaderNames.XRequestedWith], "XMLHttpRequest", StringComparison.Ordinal) || + string.Equals(request.Headers[HeaderNames.XRequestedWith], "XMLHttpRequest", StringComparison.Ordinal); } public static bool CanAccept([NotNull]this HttpRequest request, [NotNull] string contentType) @@ -25,7 +20,7 @@ namespace Microsoft.AspNetCore.Http Check.NotNull(request, nameof(request)); Check.NotNull(contentType, nameof(contentType)); - return request.Headers["Accept"].ToString().Contains(contentType); + return request.Headers[HeaderNames.Accept].ToString().Contains(contentType, StringComparison.OrdinalIgnoreCase); } } }