public Task SendEventAsync(object message, string routingKey) { EnsureArg.IsNotNull(message, nameof(message)); EnsureArg.IsNotNullOrWhiteSpace(routingKey, nameof(routingKey)); return(Task.Run(() => { var eventMessage = new EventMessage { JsonMessage = JsonConvert.SerializeObject(message), RoutingKey = routingKey }; _busProvider.BasicPublish(eventMessage); })); }
public async Task <SecretWrapper> SetSecretAsync(string secretName, string secretValue, CancellationToken cancellationToken) { EnsureArg.IsNotNullOrWhiteSpace(secretName, nameof(secretName)); EnsureArg.IsNotNullOrWhiteSpace(secretValue, nameof(secretValue)); SecretBundle result = await _keyVaultClient.SetSecretAsync( _keyVaultUri.AbsoluteUri, secretName, secretValue, tags : null, contentType : null, secretAttributes : null, cancellationToken); return(new SecretWrapper(result.Id, result.Value)); }
/// <summary> /// Initializes a new instance of the <see cref="ChainedExpression"/> class. /// </summary> /// <param name="resourceType">The resource type that supports this search expression.</param> /// /// <param name="paramName">The search parameter name.</param> /// <param name="targetResourceType">The target resource type.</param> /// <param name="expression">The search expression.</param> public ChainedExpression( ResourceType resourceType, string paramName, ResourceType targetResourceType, Expression expression) { EnsureArg.IsTrue(Enum.IsDefined(typeof(ResourceType), resourceType), nameof(resourceType)); EnsureArg.IsNotNullOrWhiteSpace(paramName, nameof(paramName)); EnsureArg.IsTrue(Enum.IsDefined(typeof(ResourceType), targetResourceType), nameof(targetResourceType)); EnsureArg.IsNotNull(expression, nameof(expression)); ResourceType = resourceType; ParamName = paramName; TargetResourceType = targetResourceType; Expression = expression; }
public async Task <TokenValidationResult> ValidateAsync(string audience, TokenModel tokenModel, CancellationToken cancellationToken = default) { EnsureArg.IsNotNullOrWhiteSpace(audience, nameof(audience)); EnsureArg.IsNotNull(tokenModel, nameof(tokenModel)); var token = tokenModel.Value; EnsureArg.IsNotNullOrWhiteSpace(token, nameof(token)); if (!_tokenHandler.CanReadToken(token)) { throw new TokenValidationException(I18n.TokenMalformed); } var securityToken = _tokenHandler.ReadJwtToken(token); var issuer = securityToken.Issuer; if (string.IsNullOrWhiteSpace(issuer)) { throw new TokenValidationException(I18n.NoIssuer); } if (!securityToken.Audiences.Contains(audience)) { throw new TokenValidationException(I18n.TokenAudienceError); } var tokenDescriptor = await _tokenRepository.GetAsync(issuer, audience, cancellationToken) ?? throw new TokenValidationException(I18n.NotRegistered); if (!tokenDescriptor.IsActive) { throw new TokenValidationException(I18n.TokenDisabled); } ValidateJwt(token, issuer, tokenDescriptor.Audience, tokenDescriptor.PrivateKey); if ((securityToken.ValidTo - securityToken.ValidFrom).TotalSeconds > tokenDescriptor.Ttl) { throw new TokenValidationException(I18n.TokenTtlLarge); } return(new TokenValidationResult { Expiration = (securityToken.ValidTo - securityToken.ValidFrom).TotalSeconds }); }
public async Task <DicomWebResponse <DicomFile> > RetrieveInstanceAsync( string studyInstanceUid, string seriesInstanceUid, string sopInstanceUid, string dicomTransferSyntax = DicomWebConstants.OriginalDicomTransferSyntax, string partitionName = default, CancellationToken cancellationToken = default) { EnsureArg.IsNotNullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); EnsureArg.IsNotNullOrWhiteSpace(seriesInstanceUid, nameof(seriesInstanceUid)); EnsureArg.IsNotNullOrWhiteSpace(sopInstanceUid, nameof(sopInstanceUid)); return(await RetrieveInstanceAsync( GenerateRequestUri(string.Format(DicomWebConstants.BaseInstanceUriFormat, studyInstanceUid, seriesInstanceUid, sopInstanceUid), partitionName), dicomTransferSyntax, cancellationToken).ConfigureAwait(false)); }
public ExportJobRecord(Uri exportRequestUri, string hash, IReadOnlyCollection <KeyValuePair <string, string> > requestorClaims = null) { EnsureArg.IsNotNull(exportRequestUri, nameof(exportRequestUri)); EnsureArg.IsNotNullOrWhiteSpace(hash, nameof(hash)); RequestUri = exportRequestUri; Hash = hash; RequestorClaims = requestorClaims; // Default values SchemaVersion = 1; Id = Guid.NewGuid().ToString(); Status = OperationStatus.Queued; QueuedTime = DateTimeOffset.UtcNow; SecretName = SecretPrefix + Id; }