remove type collection from context
This commit is contained in:
@@ -1,42 +1,23 @@
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace Finch.Context;
|
namespace Finch.Context;
|
||||||
|
|
||||||
public class FinchContext : IFinchContext
|
public class FinchContext(
|
||||||
|
IFinchOptions options,
|
||||||
|
ICultureResolver cultureResolver,
|
||||||
|
IServiceProvider services)
|
||||||
|
: IFinchContext
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public IFinchOptions Options { get; protected set; }
|
public IFinchOptions Options { get; } = options;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public IServiceProvider Services { get; }
|
public IServiceProvider Services { get; } = services;
|
||||||
|
|
||||||
protected ICultureResolver CultureResolver { get; }
|
|
||||||
|
|
||||||
protected ILogger<FinchContext> Logger { get; private set; }
|
|
||||||
|
|
||||||
protected IHandlerHolder Handler { get; private set; }
|
|
||||||
|
|
||||||
protected IHttpContextAccessor HttpContextAccessor { get; private set; }
|
|
||||||
|
|
||||||
protected IPrimitiveTypeCollection ValueCollection { get; }
|
|
||||||
|
|
||||||
|
|
||||||
bool _resolved = false;
|
bool _resolved = false;
|
||||||
|
|
||||||
|
|
||||||
public FinchContext(IFinchOptions options, IHttpContextAccessor httpContextAccessor, ICultureResolver cultureResolver,
|
|
||||||
ILogger<FinchContext> logger, IHandlerHolder handler, IServiceProvider services)
|
|
||||||
{
|
|
||||||
Options = options;
|
|
||||||
CultureResolver = cultureResolver;
|
|
||||||
Logger = logger;
|
|
||||||
Handler = handler;
|
|
||||||
ValueCollection = new PrimitiveTypeCollection();
|
|
||||||
HttpContextAccessor = httpContextAccessor;
|
|
||||||
Services = services;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public virtual async Task Resolve(HttpContext context)
|
public virtual async Task Resolve(HttpContext context)
|
||||||
{
|
{
|
||||||
@@ -45,23 +26,11 @@ public class FinchContext : IFinchContext
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_resolved = true;
|
|
||||||
|
|
||||||
// set current culture
|
// set current culture
|
||||||
await CultureResolver.Resolve(this);
|
await cultureResolver.Resolve(this);
|
||||||
|
|
||||||
|
_resolved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public T Get<T>() => ValueCollection.Get<T>();
|
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public void Set<T>(T value) => ValueCollection.Set(value);
|
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public void Remove<T>() => ValueCollection.Remove<T>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -83,19 +52,4 @@ public interface IFinchContext
|
|||||||
/// the currently active backoffice user, as users are not signed in with the default scheme and do therefore not populate HttpContext.User
|
/// the currently active backoffice user, as users are not signed in with the default scheme and do therefore not populate HttpContext.User
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Task Resolve(HttpContext context);
|
Task Resolve(HttpContext context);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get a custom property from this scoped context
|
|
||||||
/// </summary>
|
|
||||||
T Get<T>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Add a custom property to this scoped context
|
|
||||||
/// </summary>
|
|
||||||
void Set<T>(T value);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Remove a custom property from this scoped context
|
|
||||||
/// </summary>
|
|
||||||
void Remove<T>();
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user