public SqlServerSearchService( ISearchOptionsFactory searchOptionsFactory, IFhirDataStore fhirDataStore, ISqlServerFhirModel model, SqlRootExpressionRewriter sqlRootExpressionRewriter, ChainFlatteningRewriter chainFlatteningRewriter, SortRewriter sortRewriter, PartitionEliminationRewriter partitionEliminationRewriter, SqlConnectionWrapperFactory sqlConnectionWrapperFactory, SchemaInformation schemaInformation, RequestContextAccessor <IFhirRequestContext> requestContextAccessor, ICompressedRawResourceConverter compressedRawResourceConverter, ILogger <SqlServerSearchService> logger) : base(searchOptionsFactory, fhirDataStore) { EnsureArg.IsNotNull(sqlRootExpressionRewriter, nameof(sqlRootExpressionRewriter)); EnsureArg.IsNotNull(chainFlatteningRewriter, nameof(chainFlatteningRewriter)); EnsureArg.IsNotNull(sqlConnectionWrapperFactory, nameof(sqlConnectionWrapperFactory)); EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation)); EnsureArg.IsNotNull(partitionEliminationRewriter, nameof(partitionEliminationRewriter)); EnsureArg.IsNotNull(requestContextAccessor, nameof(requestContextAccessor)); EnsureArg.IsNotNull(logger, nameof(logger)); _model = model; _sqlRootExpressionRewriter = sqlRootExpressionRewriter; _sortRewriter = sortRewriter; _partitionEliminationRewriter = partitionEliminationRewriter; _chainFlatteningRewriter = chainFlatteningRewriter; _sqlConnectionWrapperFactory = sqlConnectionWrapperFactory; _logger = logger; _schemaInformation = schemaInformation; _requestContextAccessor = requestContextAccessor; _compressedRawResourceConverter = compressedRawResourceConverter; }
public TaskFactory( IImportResourceLoader importResourceLoader, IResourceBulkImporter resourceBulkImporter, IImportErrorStoreFactory importErrorStoreFactory, IImportOrchestratorTaskDataStoreOperation importOrchestratorTaskDataStoreOperation, IContextUpdaterFactory contextUpdaterFactory, ITaskManager taskmanager, ISequenceIdGenerator <long> sequenceIdGenerator, IIntegrationDataStoreClient integrationDataStoreClient, RequestContextAccessor <IFhirRequestContext> contextAccessor, ILoggerFactory loggerFactory) { EnsureArg.IsNotNull(importResourceLoader, nameof(importResourceLoader)); EnsureArg.IsNotNull(resourceBulkImporter, nameof(resourceBulkImporter)); EnsureArg.IsNotNull(importErrorStoreFactory, nameof(importErrorStoreFactory)); EnsureArg.IsNotNull(importOrchestratorTaskDataStoreOperation, nameof(importOrchestratorTaskDataStoreOperation)); EnsureArg.IsNotNull(contextUpdaterFactory, nameof(contextUpdaterFactory)); EnsureArg.IsNotNull(taskmanager, nameof(taskmanager)); EnsureArg.IsNotNull(sequenceIdGenerator, nameof(sequenceIdGenerator)); EnsureArg.IsNotNull(integrationDataStoreClient, nameof(integrationDataStoreClient)); EnsureArg.IsNotNull(contextAccessor, nameof(contextAccessor)); EnsureArg.IsNotNull(loggerFactory, nameof(loggerFactory)); _importResourceLoader = importResourceLoader; _resourceBulkImporter = resourceBulkImporter; _importErrorStoreFactory = importErrorStoreFactory; _importOrchestratorTaskDataStoreOperation = importOrchestratorTaskDataStoreOperation; _sequenceIdGenerator = sequenceIdGenerator; _integrationDataStoreClient = integrationDataStoreClient; _taskmanager = taskmanager; _contextUpdaterFactory = contextUpdaterFactory; _contextAccessor = contextAccessor; _loggerFactory = loggerFactory; }
public static RequestContextAccessor <IFhirRequestContext> SetupAccessor(this IFhirRequestContext context) { RequestContextAccessor <IFhirRequestContext> accessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); accessor.RequestContext.Returns(context); return(accessor); }
/// <summary> /// Initializes a new instance of the <see cref="ResourceWrapperFactory"/> class. /// </summary> /// <param name="rawResourceFactory">The raw resource factory.</param> /// <param name="fhirRequestContextAccessor">The FHIR request context accessor.</param> /// <param name="searchIndexer">The search indexer used to generate search indices.</param> /// <param name="claimsExtractor">The claims extractor used to extract claims.</param> /// <param name="compartmentIndexer">The compartment indexer.</param> /// <param name="searchParameterDefinitionManager"> The search parameter definition manager.</param> /// <param name="resourceDeserializer">Resource deserializer</param> public ResourceWrapperFactory( IRawResourceFactory rawResourceFactory, RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, ISearchIndexer searchIndexer, IClaimsExtractor claimsExtractor, ICompartmentIndexer compartmentIndexer, ISearchParameterDefinitionManager searchParameterDefinitionManager, IResourceDeserializer resourceDeserializer) { EnsureArg.IsNotNull(rawResourceFactory, nameof(rawResourceFactory)); EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer)); EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(claimsExtractor, nameof(claimsExtractor)); EnsureArg.IsNotNull(compartmentIndexer, nameof(compartmentIndexer)); EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager)); EnsureArg.IsNotNull(resourceDeserializer, nameof(resourceDeserializer)); _rawResourceFactory = rawResourceFactory; _searchIndexer = searchIndexer; _fhirRequestContextAccessor = fhirRequestContextAccessor; _claimsExtractor = claimsExtractor; _compartmentIndexer = compartmentIndexer; _searchParameterDefinitionManager = searchParameterDefinitionManager; _resourceDeserializer = resourceDeserializer; }
public ReindexJobTask( Func <IScoped <IFhirOperationDataStore> > fhirOperationDataStoreFactory, Func <IScoped <IFhirDataStore> > fhirDataStoreFactory, IOptions <ReindexJobConfiguration> reindexJobConfiguration, Func <IScoped <ISearchService> > searchServiceFactory, ISupportedSearchParameterDefinitionManager supportedSearchParameterDefinitionManager, IReindexUtilities reindexUtilities, RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, IReindexJobThrottleController throttleController, IModelInfoProvider modelInfoProvider, ILogger <ReindexJobTask> logger) { EnsureArg.IsNotNull(fhirOperationDataStoreFactory, nameof(fhirOperationDataStoreFactory)); EnsureArg.IsNotNull(fhirDataStoreFactory, nameof(fhirDataStoreFactory)); EnsureArg.IsNotNull(reindexJobConfiguration?.Value, nameof(reindexJobConfiguration)); EnsureArg.IsNotNull(searchServiceFactory, nameof(searchServiceFactory)); EnsureArg.IsNotNull(supportedSearchParameterDefinitionManager, nameof(supportedSearchParameterDefinitionManager)); EnsureArg.IsNotNull(reindexUtilities, nameof(reindexUtilities)); EnsureArg.IsNotNull(throttleController, nameof(throttleController)); EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider)); EnsureArg.IsNotNull(logger, nameof(logger)); _fhirOperationDataStoreFactory = fhirOperationDataStoreFactory; _fhirDataStoreFactory = fhirDataStoreFactory; _reindexJobConfiguration = reindexJobConfiguration.Value; _searchServiceFactory = searchServiceFactory; _supportedSearchParameterDefinitionManager = supportedSearchParameterDefinitionManager; _reindexUtilities = reindexUtilities; _contextAccessor = fhirRequestContextAccessor; _throttleController = throttleController; _modelInfoProvider = modelInfoProvider; _logger = logger; }
public ImportProcessingTask( ImportProcessingTaskInputData inputData, ImportProcessingProgress importProgress, IImportResourceLoader importResourceLoader, IResourceBulkImporter resourceBulkImporter, IImportErrorStoreFactory importErrorStoreFactory, IContextUpdater contextUpdater, RequestContextAccessor <IFhirRequestContext> contextAccessor, ILoggerFactory loggerFactory) { EnsureArg.IsNotNull(inputData, nameof(inputData)); EnsureArg.IsNotNull(importProgress, nameof(importProgress)); EnsureArg.IsNotNull(importResourceLoader, nameof(importResourceLoader)); EnsureArg.IsNotNull(resourceBulkImporter, nameof(resourceBulkImporter)); EnsureArg.IsNotNull(importErrorStoreFactory, nameof(importErrorStoreFactory)); EnsureArg.IsNotNull(contextUpdater, nameof(contextUpdater)); EnsureArg.IsNotNull(contextAccessor, nameof(contextAccessor)); EnsureArg.IsNotNull(loggerFactory, nameof(loggerFactory)); _inputData = inputData; _importProgress = importProgress; _importResourceLoader = importResourceLoader; _resourceBulkImporter = resourceBulkImporter; _importErrorStoreFactory = importErrorStoreFactory; _contextUpdater = contextUpdater; _contextAccessor = contextAccessor; _logger = loggerFactory.CreateLogger <ImportProcessingTask>(); }
public async Task GivenImportTaskInput_WhenOperationWasCancelledExceptionThrow_ThenTaskShouldBeCanceled() { ImportProcessingTaskInputData inputData = GetInputData(); ImportProcessingProgress progress = new ImportProcessingProgress(); IImportResourceLoader loader = Substitute.For <IImportResourceLoader>(); IResourceBulkImporter importer = Substitute.For <IResourceBulkImporter>(); IImportErrorStore importErrorStore = Substitute.For <IImportErrorStore>(); IImportErrorStoreFactory importErrorStoreFactory = Substitute.For <IImportErrorStoreFactory>(); IContextUpdater contextUpdater = Substitute.For <IContextUpdater>(); RequestContextAccessor <IFhirRequestContext> contextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); ILoggerFactory loggerFactory = new NullLoggerFactory(); importer.Import(Arg.Any <Channel <ImportResource> >(), Arg.Any <IImportErrorStore>(), Arg.Any <CancellationToken>()) .Returns(callInfo => { throw new OperationCanceledException(); }); ImportProcessingTask task = new ImportProcessingTask( inputData, progress, loader, importer, importErrorStoreFactory, contextUpdater, contextAccessor, loggerFactory); TaskResultData result = await task.ExecuteAsync(); Assert.Equal(TaskResult.Canceled, result.Result); }
public async Task GivenImportTaskInput_WhenExceptionThrowForCleanData_ThenRetriableExceptionShouldBeThrow() { ImportProcessingTaskInputData inputData = GetInputData(); ImportProcessingProgress progress = new ImportProcessingProgress(); IImportResourceLoader loader = Substitute.For <IImportResourceLoader>(); IResourceBulkImporter importer = Substitute.For <IResourceBulkImporter>(); IImportErrorStore importErrorStore = Substitute.For <IImportErrorStore>(); IImportErrorStoreFactory importErrorStoreFactory = Substitute.For <IImportErrorStoreFactory>(); IContextUpdater contextUpdater = Substitute.For <IContextUpdater>(); RequestContextAccessor <IFhirRequestContext> contextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); ILoggerFactory loggerFactory = new NullLoggerFactory(); importer.CleanResourceAsync(Arg.Any <ImportProcessingTaskInputData>(), Arg.Any <ImportProcessingProgress>(), Arg.Any <CancellationToken>()) .Returns(callInfo => { throw new InvalidOperationException(); }); progress.NeedCleanData = true; ImportProcessingTask task = new ImportProcessingTask( inputData, progress, loader, importer, importErrorStoreFactory, contextUpdater, contextAccessor, loggerFactory); await Assert.ThrowsAsync <RetriableTaskException>(() => task.ExecuteAsync()); }
internal static bool GetIsStrictHandlingEnabled(this RequestContextAccessor <IFhirRequestContext> contextAccessor) { EnsureArg.IsNotNull(contextAccessor, nameof(contextAccessor)); bool isStrictHandlingEnabled = false; if (contextAccessor.RequestContext?.RequestHeaders != null && contextAccessor.RequestContext.RequestHeaders.TryGetValue(KnownHeaders.Prefer, out StringValues values)) { var handlingValue = values.FirstOrDefault(x => x.StartsWith("handling=", StringComparison.OrdinalIgnoreCase)); if (handlingValue != default) { handlingValue = handlingValue.Substring("handling=".Length); if (string.IsNullOrWhiteSpace(handlingValue) || !Enum.TryParse(handlingValue, true, out SearchParameterHandling handling)) { throw new BadRequestException(string.Format( Resources.InvalidHandlingValue, handlingValue, string.Join(",", Enum.GetNames <SearchParameterHandling>()))); } if (handling == SearchParameterHandling.Strict) { isStrictHandlingEnabled = true; } } } return(isStrictHandlingEnabled); }
public PartService(IStorageProvider storageProvider, RequestContextAccessor requestContextAccessor, OctopartApi octopartApi, DigikeyApi digikeyApi, MouserApi mouserApi) { _storageProvider = storageProvider; _requestContext = requestContextAccessor; _octopartApi = octopartApi; _digikeyApi = digikeyApi; _mouserApi = mouserApi; }
public PrincipalClaimsExtractor(RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, IOptions <SecurityConfiguration> securityConfiguration) { EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(securityConfiguration, nameof(securityConfiguration)); _fhirRequestContextAccessor = fhirRequestContextAccessor; _securityConfiguration = securityConfiguration.Value; }
public OperationOutcomeExceptionFilterAttribute(RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, ILogger <OperationOutcomeExceptionFilterAttribute> logger) { EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(logger, nameof(logger)); _fhirRequestContextAccessor = fhirRequestContextAccessor; _logger = logger; }
public RoleBasedAuthorizationService(AuthorizationConfiguration <TDataActions> authorizationConfiguration, RequestContextAccessor <TRequestContext> requestContextAccessor) { EnsureArg.IsNotNull(authorizationConfiguration, nameof(authorizationConfiguration)); _requestContextAccessor = EnsureArg.IsNotNull(requestContextAccessor, nameof(requestContextAccessor)); _rolesClaimName = authorizationConfiguration.RolesClaim; _roles = authorizationConfiguration.Roles.ToDictionary(r => r.Name, StringComparer.OrdinalIgnoreCase); }
public BundleFactory(IUrlResolver urlResolver, RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor) { EnsureArg.IsNotNull(urlResolver, nameof(urlResolver)); EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); _urlResolver = urlResolver; _fhirRequestContextAccessor = fhirRequestContextAccessor; }
public SearchableSearchParameterDefinitionManager(SearchParameterDefinitionManager inner, RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor) { EnsureArg.IsNotNull(inner, nameof(inner)); EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); _inner = inner; _fhirReqeustContextAccessor = fhirRequestContextAccessor; }
public async Task GivenAnOrchestratorTaskAndWrongEtag_WhenOrchestratorTaskStart_ThenTaskShouldFailedWithDetails() { IImportOrchestratorTaskDataStoreOperation fhirDataBulkImportOperation = Substitute.For <IImportOrchestratorTaskDataStoreOperation>(); IContextUpdater contextUpdater = Substitute.For <IContextUpdater>(); RequestContextAccessor <IFhirRequestContext> contextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); ILoggerFactory loggerFactory = new NullLoggerFactory(); IIntegrationDataStoreClient integrationDataStoreClient = Substitute.For <IIntegrationDataStoreClient>(); ISequenceIdGenerator <long> sequenceIdGenerator = Substitute.For <ISequenceIdGenerator <long> >(); ImportOrchestratorTaskInputData importOrchestratorTaskInputData = new ImportOrchestratorTaskInputData(); ImportOrchestratorTaskContext importOrchestratorTaskContext = new ImportOrchestratorTaskContext(); ITaskManager taskManager = Substitute.For <ITaskManager>(); importOrchestratorTaskInputData.TaskId = Guid.NewGuid().ToString("N"); importOrchestratorTaskInputData.TaskCreateTime = Clock.UtcNow; importOrchestratorTaskInputData.BaseUri = new Uri("http://dummy"); var inputs = new List <InputResource>(); inputs.Add(new InputResource() { Type = "Resource", Url = new Uri("http://dummy"), Etag = "dummy" }); importOrchestratorTaskInputData.Input = inputs; importOrchestratorTaskInputData.InputFormat = "ndjson"; importOrchestratorTaskInputData.InputSource = new Uri("http://dummy"); importOrchestratorTaskInputData.MaxConcurrentProcessingTaskCount = 1; importOrchestratorTaskInputData.ProcessingTaskQueueId = "default"; importOrchestratorTaskInputData.RequestUri = new Uri("http://dummy"); integrationDataStoreClient.GetPropertiesAsync(Arg.Any <Uri>(), Arg.Any <CancellationToken>()) .Returns(callInfo => { Dictionary <string, object> properties = new Dictionary <string, object>(); properties[IntegrationDataStoreClientConstants.BlobPropertyETag] = "test"; properties[IntegrationDataStoreClientConstants.BlobPropertyLength] = 1000L; return(properties); }); sequenceIdGenerator.GetCurrentSequenceId().Returns(_ => 0L); ImportOrchestratorTask orchestratorTask = new ImportOrchestratorTask( importOrchestratorTaskInputData, importOrchestratorTaskContext, taskManager, sequenceIdGenerator, contextUpdater, contextAccessor, fhirDataBulkImportOperation, integrationDataStoreClient, loggerFactory); TaskResultData result = await orchestratorTask.ExecuteAsync(); ImportTaskErrorResult resultDetails = JsonConvert.DeserializeObject <ImportTaskErrorResult>(result.ResultData); Assert.Equal(TaskResult.Fail, result.Result); Assert.Equal(HttpStatusCode.BadRequest, resultDetails.HttpStatusCode); Assert.NotEmpty(resultDetails.ErrorMessage); }
public ReindexJobCosmosThrottleController( RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, ILogger <ReindexJobCosmosThrottleController> logger) { EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(logger, nameof(logger)); _fhirRequestContextAccessor = fhirRequestContextAccessor; _logger = logger; }
public FhirRequestContextRouteDataPopulatingFilterAttribute( RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, IAuditEventTypeMapping auditEventTypeMapping) { EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(auditEventTypeMapping, nameof(auditEventTypeMapping)); _fhirRequestContextAccessor = fhirRequestContextAccessor; _auditEventTypeMapping = auditEventTypeMapping; }
public FhirCosmosResponseHandler( Func <IScoped <Container> > client, CosmosDataStoreConfiguration cosmosDataStoreConfiguration, RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, ICosmosResponseProcessor cosmosResponseProcessor) { _client = client; _cosmosDataStoreConfiguration = cosmosDataStoreConfiguration; _fhirRequestContextAccessor = fhirRequestContextAccessor; _cosmosResponseProcessor = cosmosResponseProcessor; }
public async Task Invoke(HttpContext context, RequestContextAccessor <TRequestContext> requestContextAccessor) { // Now the authentication is completed successfully, sets the user. if (context.User != null) { requestContextAccessor.RequestContext.Principal = context.User; } // Call the next delegate/middleware in the pipeline await _next(context); }
public CosmosResponseProcessor(RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, IMediator mediator, ICosmosQueryLogger queryLogger, ILogger <CosmosResponseProcessor> logger) { EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(mediator, nameof(mediator)); EnsureArg.IsNotNull(queryLogger, nameof(queryLogger)); EnsureArg.IsNotNull(logger, nameof(logger)); _fhirRequestContextAccessor = fhirRequestContextAccessor; _mediator = mediator; _queryLogger = queryLogger; _logger = logger; }
public CosmosResponseProcessorTests() { _fhirRequestContextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); _fhirRequestContextAccessor.RequestContext.RequestHeaders.Returns(_requestHeaders); _fhirRequestContextAccessor.RequestContext.ResponseHeaders.Returns(_responseHeaders); _fhirRequestContextAccessor.RequestContext.ResourceType.Returns("resource"); _fhirRequestContextAccessor.RequestContext.AuditEventType.Returns("operation"); _mediator = Substitute.For <IMediator>(); var nullLogger = NullLogger <CosmosResponseProcessor> .Instance; _cosmosResponseProcessor = new CosmosResponseProcessor(_fhirRequestContextAccessor, _mediator, Substitute.For <ICosmosQueryLogger>(), nullLogger); }
public BaseExceptionMiddlewareTests() { _correlationId = Guid.NewGuid().ToString(); _fhirRequestContextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); _fhirRequestContextAccessor.RequestContext.CorrelationId.Returns(_correlationId); _formatParametersValidator = Substitute.For <IFormatParametersValidator>(); _context = new DefaultHttpContext(); // The default context has a null stream, so give it a memory stream instead _context.Response.Body = new MemoryStream(); }
public AuditHelper( RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, IAuditLogger auditLogger, IAuditHeaderReader auditHeaderReader) { EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(auditLogger, nameof(auditLogger)); EnsureArg.IsNotNull(auditHeaderReader, nameof(auditHeaderReader)); _fhirRequestContextAccessor = fhirRequestContextAccessor; _auditLogger = auditLogger; _auditHeaderReader = auditHeaderReader; }
public ApiNotificationMiddleware( RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, IMediator mediator, ILogger <ApiNotificationMiddleware> logger) { EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(mediator, nameof(mediator)); EnsureArg.IsNotNull(logger, nameof(logger)); _fhirRequestContextAccessor = fhirRequestContextAccessor; _mediator = mediator; _logger = logger; }
public FhirRequestContextBeforeAuthenticationMiddleware( RequestDelegate next, RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, IAuditEventTypeMapping auditEventTypeMapping) { EnsureArg.IsNotNull(next, nameof(next)); EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(auditEventTypeMapping, nameof(auditEventTypeMapping)); _next = next; _fhirRequestContextAccessor = fhirRequestContextAccessor; _auditEventTypeMapping = auditEventTypeMapping; }
public AuditHelper( RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor, IAuditLogger auditLogger, IAuditHeaderReader auditHeaderReader) { EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(auditLogger, nameof(auditLogger)); EnsureArg.IsNotNull(auditHeaderReader, nameof(auditHeaderReader)); _fhirRequestContextAccessor = fhirRequestContextAccessor; _auditLogger = auditLogger; _auditHeaderReader = auditHeaderReader; _fhirAnonymousOperationTypeList = new Lazy <IList <string> >(() => GetAnonymousOperations()); }
public RetryExceptionPolicyFactory(CosmosDataStoreConfiguration configuration, RequestContextAccessor <IFhirRequestContext> requestContextAccessor) { _requestContextAccessor = requestContextAccessor; EnsureArg.IsNotNull(configuration, nameof(configuration)); EnsureArg.IsNotNull(requestContextAccessor, nameof(requestContextAccessor)); _sdkOnlyRetryPolicy = Policy.NoOpAsync(); _bundleActionRetryPolicy = configuration.IndividualBatchActionRetryOptions.MaxNumberOfRetries > 0 ? CreateExtendedRetryPolicy(configuration.IndividualBatchActionRetryOptions.MaxNumberOfRetries / configuration.RetryOptions.MaxNumberOfRetries, configuration.IndividualBatchActionRetryOptions.MaxWaitTimeInSeconds) : Policy.NoOpAsync(); _backgroundJobRetryPolicy = CreateExtendedRetryPolicy(100, -1); }
public async Task Invoke(HttpContext context, RequestContextAccessor <TRequestContext> requestContextAccessor) { EnsureArg.IsNotNull(context, nameof(context)); // Now the authentication is completed successfully, sets the user. if (context.User != null) { EnsureArg.IsNotNull(requestContextAccessor, nameof(requestContextAccessor)); requestContextAccessor.RequestContext.Principal = context.User; } // Call the next delegate/middleware in the pipeline await _next(context).ConfigureAwait(false); }
public ResourceProfileValidator( IModelAttributeValidator modelAttributeValidator, IProfileValidator profileValidator, RequestContextAccessor <IFhirRequestContext> contextAccessor, bool runProfileValidation = false) : base(modelAttributeValidator) { EnsureArg.IsNotNull(modelAttributeValidator, nameof(modelAttributeValidator)); EnsureArg.IsNotNull(profileValidator, nameof(profileValidator)); EnsureArg.IsNotNull(contextAccessor, nameof(contextAccessor)); _profileValidator = profileValidator; _contextAccessor = contextAccessor; _runProfileValidation = runProfileValidation; }