public VisionDescribeClient(IVisionBinding config, VisionDescribeAttribute attr, ILoggerFactory loggerFactory) { this._config = config; this._attr = attr; this._log = loggerFactory?.CreateLogger("Host.Bindings.VisionDescribe"); }
private async Task <VisionDescribeRequest> MergeProperties(VisionDescribeRequest operation, IVisionBinding config, VisionDescribeAttribute attr) { var visionOperation = new VisionDescribeRequest { Url = attr.VisionUrl ?? operation.Url, Key = attr.VisionKey ?? operation.Key, SecureKey = attr.SecureKey ?? attr.SecureKey, AutoResize = attr.AutoResize, MaxCandidates = operation.MaxCandidates, ImageUrl = string.IsNullOrEmpty(operation.ImageUrl) ? attr.ImageUrl : operation.ImageUrl, ImageBytes = operation.ImageBytes, }; if (string.IsNullOrEmpty(visionOperation.Key) && string.IsNullOrEmpty(visionOperation.SecureKey)) { _log.LogWarning(VisionExceptionMessages.KeyMissing); throw new ArgumentException(VisionExceptionMessages.KeyMissing); } if (!string.IsNullOrEmpty(visionOperation.SecureKey)) { HttpClient httpClient = this._config.Client.GetHttpClientInstance(); visionOperation.Key = await KeyVaultServices.GetValue(visionOperation.SecureKey, httpClient); } return(visionOperation); }
public VisionHandwritingClient(IVisionBinding config, VisionHandwritingAttribute attr, ILoggerFactory loggerFactory) { this._config = config; this._attr = attr; this._log = loggerFactory?.CreateLogger("Host.Bindings.VisionHandwriting"); }
private async Task <VisionHandwritingRequest> MergeProperties(VisionHandwritingRequest operation, IVisionBinding config, VisionHandwritingAttribute attr) { var visionOperation = new VisionHandwritingRequest { Url = attr.VisionUrl ?? operation.Url, Key = attr.VisionKey ?? operation.Key, AutoResize = attr.AutoResize, ImageUrl = string.IsNullOrEmpty(operation.ImageUrl) ? attr.ImageUrl : operation.ImageUrl, ImageBytes = operation.ImageBytes, Handwriting = attr.Handwriting.HasValue ? attr.Handwriting.Value : operation.Handwriting }; if (string.IsNullOrEmpty(visionOperation.Key)) { _log.LogWarning(VisionExceptionMessages.KeyMissing); throw new ArgumentException(VisionExceptionMessages.KeyMissing); } return(visionOperation); }
private async Task <VisionDomainRequest> MergeProperties(VisionDomainRequest operation, IVisionBinding config, VisionDomainAttribute attr) { //Attributes do not allow for enum types so we have to validate //the string passed into the attribute to ensure it matches //a valid VisionDomainOption. VisionDomainOptions attrDomain = VisionDomainOptions.None; if (!string.IsNullOrEmpty(attr.Domain)) { var valid = Enum.TryParse <VisionDomainOptions>(attr.Domain, out attrDomain); if (!valid) { var message = string.Format(VisionExceptionMessages.InvalidDomainName, attr.Domain); _log.LogWarning(message); throw new ArgumentException(message); } } else { if (operation.Domain == VisionDomainOptions.None) { var message = string.Format(VisionExceptionMessages.InvalidDomainName, "None"); _log.LogWarning(message); throw new ArgumentException(message); } } var visionOperation = new VisionDomainRequest { Url = attr.VisionUrl ?? operation.Url, Key = attr.VisionKey ?? operation.Key, SecureKey = attr.SecureKey ?? attr.SecureKey, AutoResize = attr.AutoResize, Domain = attrDomain == VisionDomainOptions.None ? operation.Domain : attrDomain, ImageUrl = string.IsNullOrEmpty(operation.ImageUrl) ? attr.ImageUrl : operation.ImageUrl, ImageBytes = operation.ImageBytes, }; if (string.IsNullOrEmpty(visionOperation.Key) && string.IsNullOrEmpty(visionOperation.SecureKey)) { _log.LogWarning(VisionExceptionMessages.KeyMissing); throw new ArgumentException(VisionExceptionMessages.KeyMissing); } if (!string.IsNullOrEmpty(visionOperation.SecureKey)) { HttpClient httpClient = this._config.Client.GetHttpClientInstance(); visionOperation.Key = await KeyVaultServices.GetValue(visionOperation.SecureKey, httpClient); } return(visionOperation); }
private async Task <VisionThumbnailRequest> MergeProperties(VisionThumbnailRequest operation, IVisionBinding config, VisionThumbnailAttribute attr) { var visionOperation = new VisionThumbnailRequest { Url = attr.VisionUrl ?? operation.Url, Key = attr.VisionKey ?? operation.Key, AutoResize = attr.AutoResize, Height = attr.Height, Width = attr.Width, SmartCropping = attr.SmartCropping, ImageUrl = string.IsNullOrEmpty(operation.ImageUrl) ? attr.ImageUrl : operation.ImageUrl, ImageBytes = operation.ImageBytes, }; if (string.IsNullOrEmpty(visionOperation.Key)) { _log.LogWarning(VisionExceptionMessages.KeyMissing); throw new ArgumentException(VisionExceptionMessages.KeyMissing); } return(visionOperation); }