コード例 #1
0
 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();
     }
 }
コード例 #2
0
 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));
     }
 }
コード例 #3
0
 public IWebCall <ModerateTextRequest, ModerateTextResponse> ModerationTextPut(ModerateTextRequest request)
 {
     return(CreateWebCall <ModerateTextRequest, ModerateTextResponse>(HttpMethod.PUT, new Uri(host + "/moderation/text"), request));
 }