using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Linq; using System.Security.Claims; using System.Threading.Tasks; namespace JsonRPC4.Router.Defaults { public class DefaultRouteContext : IRouteContext { public IServiceProvider RequestServices { get; } public ClaimsPrincipal User { get; } public IRpcMethodProvider MethodProvider { get; } public DefaultRouteContext(IServiceProvider serviceProvider, ClaimsPrincipal user, IRpcMethodProvider methodProvider) { RequestServices = serviceProvider; User = user; MethodProvider = methodProvider; } public static IRouteContext FromHttpContext(HttpContext httpContext, IRpcMethodProvider methodProvider) { return new DefaultRouteContext(httpContext.RequestServices, httpContext.User, methodProvider); } } }