public static async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, TraceWriter log) { log.Info("C# HTTP trigger function processed a request."); string requestBody = new StreamReader(req.Body).ReadToEnd(); dynamic data = JsonConvert.DeserializeObject(requestBody); var textToModerate = (string)data?.textToModerate; var moderationHelper = new ModerationHelper(Client, "<your content moderation api key>", "<moderation service region>"); ModerationResult result = await moderationHelper.ModerateText(textToModerate); return(data != null ? (ActionResult) new OkObjectResult(result.ToString()) : new BadRequestObjectResult("Please pass a string to evaluate")); }
public async Task UpdateAdvertisementModerationStatusAsync(string objectId, string versionId, ModerationResult moderationResult) { var methodUri = new Uri(_amUri, $"{objectId}/version/{versionId}/moderation"); using (var content = new StringContent(JsonConvert.SerializeObject(moderationResult, SerializerSettings.Default), Encoding.UTF8, "application/json")) { using (var req = new HttpRequestMessage(HttpMethod.Put, methodUri)) { req.Content = content; var server = string.Empty; var requestId = string.Empty; var stringResponse = string.Empty; try { using (var response = await _authorizedHttpClient.SendAsync(req)) { (stringResponse, server, requestId) = await HandleResponse(response); response.EnsureSuccessStatusCode(); _logger.LogInformation("Object {objectId} with version {versionId} has been updated with moderation status {status}", objectId, versionId, moderationResult.Status); } } catch (HttpRequestException ex) { _logger.LogError(new EventId(), ex, "Request {requestId} to server {server} error while updating object {objectId} moderation status {status} with response: {response}", requestId, server, objectId, moderationResult.Status, stringResponse); throw; } catch (Exception ex) { _logger.LogError(new EventId(), ex, "Error while updating object {objectId} moderation status {status}", objectId, moderationResult.Status); throw; } } } }
public async Task UpdateAdvertisementModerationStatusAsync(long id, string versionId, ModerationResult moderationResult) { var methodUri = new Uri(_amUri, $"{id}/version/{versionId}/moderation"); using (var content = new StringContent(JsonConvert.SerializeObject(moderationResult, ApiSerializerSettings.Default), Encoding.UTF8, ContentType.Json)) { using (var req = new HttpRequestMessage(HttpMethod.Put, methodUri)) { req.Content = content; var server = string.Empty; var requestId = string.Empty; var stringResponse = string.Empty; try { using (var response = await _authorizedHttpClient.SendAsync(req)) { (stringResponse, server, requestId) = await HandleResponse(response); response.EnsureSuccessStatusCode(); _logger.LogInformation( "Advertisement {id} version {versionId} has been moderated with resolution {resolution}", id, versionId, moderationResult.Resolution); } } catch (HttpRequestException ex) { _logger.LogError( ex, "Request {requestId} to server {server} error while moderate advertisement {id} version {versionId} with resolution {resolution}; response: {response}", requestId, server, id, versionId, moderationResult.Resolution, stringResponse); throw; } catch (Exception ex) { _logger.LogError( ex, "Error while moderate advertisement {id} version {versionId} with resolution {resolution}", id, versionId, moderationResult.Resolution); throw; } } } }