public static void ModerateText(AbstractLogger logger, IMixWebCallFactory mixWebCallFactory, string text, bool isTrusted, Action <ModerateTextResponse> successCallback, Action failureCallback) { try { ModerateTextRequest moderateTextRequest = new ModerateTextRequest(); moderateTextRequest.Text = text; moderateTextRequest.ModerationPolicy = (isTrusted ? "Trusted" : "UnTrusted"); ModerateTextRequest request = moderateTextRequest; IWebCall <ModerateTextRequest, ModerateTextResponse> webCall = mixWebCallFactory.ModerationTextPut(request); webCall.OnResponse += delegate(object sender, WebCallEventArgs <ModerateTextResponse> e) { ModerateTextResponse response = e.Response; if (ValidateModerateTextResponse(response)) { successCallback(response); } else { logger.Critical("Failed to validate moderate text response: " + JsonParser.ToJson(response)); failureCallback(); } }; webCall.OnError += delegate { failureCallback(); }; webCall.Execute(); } catch (Exception ex) { logger.Critical("Unhandled exception: " + ex); failureCallback(); } }
public static void ValidateDisplayName(AbstractLogger logger, IGuestControllerClient guestControllerClient, IMixWebCallFactory mixWebCallFactory, string displayName, Action <IValidateDisplayNameResult> callback) { try { ModerateTextRequest moderateTextRequest = new ModerateTextRequest(); moderateTextRequest.ModerationPolicy = "DisplayName"; moderateTextRequest.Text = displayName; ModerateTextRequest request = moderateTextRequest; IWebCall <ModerateTextRequest, ModerateTextResponse> webCall = mixWebCallFactory.ModerationTextPut(request); webCall.OnResponse += delegate(object sender, WebCallEventArgs <ModerateTextResponse> e) { ModerateTextResponse response = e.Response; if (ValidateModerateTextResponse(response)) { if (response.Moderated.Value) { callback(new ValidateDisplayNameFailedModerationResult(success: false)); } else { CheckForValidation(guestControllerClient, displayName, callback); } } else { logger.Critical("Failed to validate moderate display name response!"); callback(new ValidateDisplayNameResult(success: false)); } }; webCall.OnError += delegate { callback(new ValidateDisplayNameResult(success: false)); }; webCall.Execute(); } catch (Exception ex) { logger.Critical("Unhandled exception: " + ex); callback(new ValidateDisplayNameExistsResult(success: false)); } }
public IWebCall <ModerateTextRequest, ModerateTextResponse> ModerationTextPut(ModerateTextRequest request) { return(CreateWebCall <ModerateTextRequest, ModerateTextResponse>(HttpMethod.PUT, new Uri(host + "/moderation/text"), request)); }