public ThreatListUpdateRequest(IEnumerable <ThreatListUpdateQuery> queries, ClientMetadata clientMetadata) { Guard.ThrowIf(nameof(queries), queries).Null(); this.ClientMetadata = clientMetadata ?? ClientMetadata.Default; this.Queries = new HashSet <ThreatListUpdateQuery>(queries); }
/// <summary> /// Create a Client Metadata. /// </summary> static ClientMetadata() { ClientMetadata.Default = CreateDefault(); // <summary> // Create Default Client Metadata. // </summary> ClientMetadata CreateDefault() { var thisAssembly = Assembly.GetExecutingAssembly(); var thisAssemblyName = thisAssembly.GetName(); var clientMetadata = new ClientMetadata(thisAssemblyName.Name, thisAssemblyName.Version); return(clientMetadata); } }
public FullHashRequest(IEnumerable <string> sha256HashPrefixes, IEnumerable <FullHashQuery> queries, ClientMetadata clientMetadata) { Guard.ThrowIf(nameof(sha256HashPrefixes), sha256HashPrefixes).Null(); this.ClientMetadata = clientMetadata ?? ClientMetadata.Default; this.Queries = new HashSet <FullHashQuery>(queries); this.Sha256HashPrefixes = CreateSha256HashPrefixes(sha256HashPrefixes); // <summary> // Create SHA256 Hash Prefixes. // </summary> IEnumerable <string> CreateSha256HashPrefixes(IEnumerable <string> cSha256HashPrefixes) { var cNewSha256HashPrefixes = new HashSet <string>(); foreach (var cSha256HashPrefix in cSha256HashPrefixes) { // ... // // Throws an exception if the operation fails. var cIsSha256HashPrefixHexadecimalEncoded = cSha256HashPrefix.IsHexadecimalEncoded(); if (!cIsSha256HashPrefixHexadecimalEncoded) { var cDetailMessage = $"A SHA256 hash prefix ({cSha256HashPrefix}) is not hexadecimal encoded."; throw new FormatException(cDetailMessage); } cNewSha256HashPrefixes.Add(cSha256HashPrefix); } return(cNewSha256HashPrefixes); } }
/// <summary> /// Set Client Metadata. /// </summary> /// <param name="value"> /// The <see cref="Clients.ClientMetadata" /> of the client making the full hash request. A null reference /// indicates the metadata of the client is unknown. /// </param> /// <returns> /// This full hash request builder. /// </returns> public FullHashRequestBuilder SetClientMetadata(ClientMetadata value) { this.ClientMetadata = value ?? ClientMetadata.Default; return(this); }
/// <summary> /// Set Client Metadata. /// </summary> /// <param name="value"> /// The metadata of the client making the threat list update request. A null reference indicates the /// client's metadata is unknown. /// </param> /// <returns> /// This threat list update request builder. /// </returns> public ThreatListUpdateRequestBuilder SetClientMetadata(ClientMetadata value) { this.ClientMetadata = value ?? ClientMetadata.Default; return(this); }