|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|