improve capture of request attributes

This commit is contained in:
Shaun Walker 2021-12-30 14:13:58 -05:00
parent f54d07548e
commit b9f7c39550
2 changed files with 6 additions and 4 deletions

View File

@ -46,6 +46,7 @@ else
</div> </div>
</div> </div>
</div> </div>
<br />
@if (_logs.Any()) @if (_logs.Any())
{ {

View File

@ -19,6 +19,7 @@ using Microsoft.Net.Http.Headers;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using System.Security.Claims; using System.Security.Claims;
using System.Net; using System.Net;
using Microsoft.Extensions.Primitives;
namespace Oqtane.Pages namespace Oqtane.Pages
{ {
@ -186,15 +187,15 @@ namespace Oqtane.Pages
private void TrackVisitor(int SiteId) private void TrackVisitor(int SiteId)
{ {
// get request attributes // get request attributes
string ip = HttpContext.Connection.RemoteIpAddress.ToString(); string ip = HttpContext.Connection.RemoteIpAddress?.ToString() ?? "";
string useragent = Request.Headers[HeaderNames.UserAgent]; string useragent = (Request.Headers[HeaderNames.UserAgent] != StringValues.Empty) ? Request.Headers[HeaderNames.UserAgent] : "";
string language = Request.Headers[HeaderNames.AcceptLanguage]; string language = (Request.Headers[HeaderNames.AcceptLanguage] != StringValues.Empty) ? Request.Headers[HeaderNames.AcceptLanguage] : "";
if (language.Contains(",")) if (language.Contains(","))
{ {
language = language.Substring(0, language.IndexOf(",")); language = language.Substring(0, language.IndexOf(","));
} }
string url = Request.GetEncodedUrl(); string url = Request.GetEncodedUrl();
string referrer = Request.Headers[HeaderNames.Referer]; string referrer = (Request.Headers[HeaderNames.Referer] != StringValues.Empty) ? Request.Headers[HeaderNames.Referer] : "";
int? userid = null; int? userid = null;
if (User.HasClaim(item => item.Type == ClaimTypes.PrimarySid)) if (User.HasClaim(item => item.Type == ClaimTypes.PrimarySid))
{ {