public async Task Set(ArtifactPayload artifactPayload, CancellationToken token = default) { artifactPayload.VerifyNotNull(nameof(artifactPayload)); ArtifactId artifactId = new ArtifactId(artifactPayload.Id); _logger.LogTrace($"{nameof(Set)}: Writing {artifactId}"); await _dataLakeStore.Write(RealPath(artifactId), artifactPayload.ToBytes(), true, token); }
public async Task Set(ArtifactPayload articlePayload, CancellationToken token = default) { articlePayload.VerifyNotNull(nameof(articlePayload)); _logger.LogTrace($"{nameof(Set)}: Id={articlePayload.Id}"); HttpResponseMessage message = await _httpClient.PostAsJsonAsync("api/artifact", articlePayload, token); message.EnsureSuccessStatusCode(); }
public async Task Set(ArtifactPayload artifactPayload, CancellationToken token) { artifactPayload.VerifyNotNull(nameof(artifactPayload)) .VerifyAssert(x => artifactPayload.Id.ToLower() == ActorKey.Value, $"Id mismatch - id={artifactPayload.Id.ToLower()}, actorKey={ActorKey}"); _logger.LogTrace($"{nameof(Set)}: Writing {artifactPayload.Id}"); await _storage.Set(artifactPayload, token); _cache.Set(artifactPayload); }
public async Task Set(ArtifactPayload record, CancellationToken token = default) { record.VerifyNotNull(nameof(record)); var actorKey = new ActorKey(new ArtifactId(record.Id).ToString()); _logger.LogTrace($"{nameof(Set)}: actorKey={actorKey}, id={record.Id}"); IArtifactPayloadActor actor = _actorHost !.GetActor <IArtifactPayloadActor>(actorKey); await actor.Set(record, token); }
public static void Verify(this ArtifactPayload subject) { subject.VerifyNotNull(nameof(subject)); subject.Id.VerifyNotEmpty(nameof(subject.Id)); subject.PackagePayload.VerifyAssert(x => x?.Length > 0, $"{nameof(subject.PackagePayload)} is required"); subject.Hash.VerifyNotEmpty($"{nameof(subject.Hash)} is required"); byte[] packagePayload = Convert.FromBase64String(subject.PackagePayload); byte[] hash = MD5.Create().ComputeHash(packagePayload); Convert.ToBase64String(hash).VerifyAssert(x => x == subject.Hash, "Hash verification failed"); }