AB#5819 - Moved composing of core/infrastructure items into CoreInitialComposer

This commit is contained in:
Bjarke Berg
2020-04-01 20:00:27 +02:00
parent 38c41fa0bd
commit 97cf099f9f
11 changed files with 138 additions and 72 deletions

View File

@@ -0,0 +1,46 @@
using System;
using Microsoft.AspNetCore.Http;
using Umbraco.Core.Cookie;
namespace Umbraco.Web.Common.AspNetCore
{
public class AspNetCoreCookieManager : ICookieManager
{
private readonly IHttpContextAccessor _httpContextAccessor;
public AspNetCoreCookieManager(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public void ExpireCookie(string cookieName)
{
var httpContext = _httpContextAccessor.HttpContext;
if (httpContext is null) return;
var cookieValue = httpContext.Request.Cookies[cookieName];
httpContext.Response.Cookies.Append(cookieName, cookieValue, new CookieOptions()
{
Expires = DateTime.Now.AddYears(-1)
});
}
public string GetCookieValue(string cookieName)
{
return _httpContextAccessor.HttpContext?.Request.Cookies[cookieName];
}
public void SetCookieValue(string cookieName, string value)
{
_httpContextAccessor.HttpContext?.Response.Cookies.Append(cookieName, value);
}
public bool HasCookie(string cookieName)
{
return !(GetCookieValue(cookieName) is null);
}
}
}