public virtual AddImageResponse AddImage(Stream stream, string listId, ContentModeratorTag tag = ContentModeratorTag.None, string label = "") { return(PolicyService.ExecuteRetryAndCapture400Errors( "ContentModeratorService.AddImage", ApiKeys.ContentModeratorRetryInSeconds, () => { var result = ContentModeratorRepository.AddImage(stream, listId, tag, label); return result; }, null)); }
public virtual AddImageResponse AddImage(Stream stream, string listId, ContentModeratorTag tag = ContentModeratorTag.None, string label = "") { try { var result = Task.Run(async() => await ContentModeratorRepository.AddImageAsync(stream, listId, tag, label)).Result; return(result); } catch (Exception ex) { Logger.Error("ContentModeratorService.AddImage failed", this, ex); } return(null); }
public virtual AddImageResponse AddImage(string imageUrl, string listId, ContentModeratorTag tag = ContentModeratorTag.None, string label = "") { try { var result = ContentModeratorRepository.AddImage(imageUrl, listId, tag, label); return(result); } catch (Exception ex) { Logger.Error($"ContentModeratorService.AddImage failed: {imageUrl}", this, ex); } return(null); }
protected virtual string GetAddImageQuerystring(ContentModeratorTag tag, string label) { StringBuilder sb = new StringBuilder(); if (tag != ContentModeratorTag.None) { sb.Append($"?tag={(int)tag}"); } if (!string.IsNullOrEmpty(label)) { var concat = sb.Length > 0 ? "&" : "?"; sb.Append($"{concat}label={label}"); } return(sb.ToString()); }
public virtual async Task <AddImageResponse> AddImageAsync(Stream stream, string listId, ContentModeratorTag tag = ContentModeratorTag.None, string label = "") { var response = await RepositoryClient.SendImagePostAsync(ApiKeys.ContentModerator, $"{ApiKeys.ContentModeratorEndpoint}{listUrl}{listId}/images{GetAddImageQuerystring(tag, label)}", stream); return(JsonConvert.DeserializeObject <AddImageResponse>(response)); }
public virtual async Task <AddImageResponse> AddImageAsync(string imageUrl, string listId, ContentModeratorTag tag = ContentModeratorTag.None, string label = "") { var request = new AddImageRequest() { Value = imageUrl }; var response = await RepositoryClient.SendJsonPostAsync(ApiKeys.ContentModerator, $"{ApiKeys.ContentModeratorEndpoint}{listUrl}{listId}/images{GetAddImageQuerystring(tag, label)}", JsonConvert.SerializeObject(request)); return(JsonConvert.DeserializeObject <AddImageResponse>(response)); }
public virtual AddImageResponse AddImage(string imageUrl, string listId, ContentModeratorTag tag = ContentModeratorTag.None, string label = "") { var response = RepositoryClient.SendJsonPost(ApiKeys.ContentModerator, $"{ApiKeys.ContentModeratorEndpoint}{listUrl}{listId}/images{GetAddImageQuerystring(tag, label)}", GetImageUrlData(imageUrl)); return(JsonConvert.DeserializeObject <AddImageResponse>(response)); }
public virtual async Task <AddImageResponse> AddImageAsync(string imageUrl, string listId, ContentModeratorTag tag = ContentModeratorTag.None, string label = "") { string data = $"{{ \"DataRepresentation\":\"URL\", \"Value\":\"{imageUrl}\" }}"; var response = await RepositoryClient.SendJsonPostAsync(ApiKeys.ContentModerator, $"{listUrl}{listId}/images{GetAddImageQuerystring(tag, label)}", data); return(JsonConvert.DeserializeObject <AddImageResponse>(response)); }