...

Source file src/github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v1.0/contentmoderator/listmanagementterm.go

Documentation: github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v1.0/contentmoderator

     1  package contentmoderator
     2  
     3  // Copyright (c) Microsoft Corporation. All rights reserved.
     4  // Licensed under the MIT License. See License.txt in the project root for license information.
     5  //
     6  // Code generated by Microsoft (R) AutoRest Code Generator.
     7  // Changes may cause incorrect behavior and will be lost if the code is regenerated.
     8  
     9  import (
    10  	"context"
    11  	"github.com/Azure/go-autorest/autorest"
    12  	"github.com/Azure/go-autorest/autorest/azure"
    13  	"github.com/Azure/go-autorest/tracing"
    14  	"net/http"
    15  )
    16  
    17  // ListManagementTermClient is the you use the API to scan your content as it is generated. Content Moderator then
    18  // processes your content and sends the results along with relevant information either back to your systems or to the
    19  // built-in review tool. You can use this information to take decisions e.g. take it down, send to human judge, etc.
    20  //
    21  // When using the API, images need to have a minimum of 128 pixels and a maximum file size of 4MB.
    22  // Text can be at most 1024 characters long.
    23  // If the content passed to the text API or the image API exceeds the size limits, the API will return an error code
    24  // that informs about the issue.
    25  type ListManagementTermClient struct {
    26  	BaseClient
    27  }
    28  
    29  // NewListManagementTermClient creates an instance of the ListManagementTermClient client.
    30  func NewListManagementTermClient(endpoint string) ListManagementTermClient {
    31  	return ListManagementTermClient{New(endpoint)}
    32  }
    33  
    34  // AddTerm add a term to the term list with list Id equal to list Id passed.
    35  // Parameters:
    36  // listID - list Id of the image list.
    37  // term - term to be deleted
    38  // language - language of the terms.
    39  func (client ListManagementTermClient) AddTerm(ctx context.Context, listID string, term string, language string) (result autorest.Response, err error) {
    40  	if tracing.IsEnabled() {
    41  		ctx = tracing.StartSpan(ctx, fqdn+"/ListManagementTermClient.AddTerm")
    42  		defer func() {
    43  			sc := -1
    44  			if result.Response != nil {
    45  				sc = result.Response.StatusCode
    46  			}
    47  			tracing.EndSpan(ctx, sc, err)
    48  		}()
    49  	}
    50  	req, err := client.AddTermPreparer(ctx, listID, term, language)
    51  	if err != nil {
    52  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "AddTerm", nil, "Failure preparing request")
    53  		return
    54  	}
    55  
    56  	resp, err := client.AddTermSender(req)
    57  	if err != nil {
    58  		result.Response = resp
    59  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "AddTerm", resp, "Failure sending request")
    60  		return
    61  	}
    62  
    63  	result, err = client.AddTermResponder(resp)
    64  	if err != nil {
    65  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "AddTerm", resp, "Failure responding to request")
    66  		return
    67  	}
    68  
    69  	return
    70  }
    71  
    72  // AddTermPreparer prepares the AddTerm request.
    73  func (client ListManagementTermClient) AddTermPreparer(ctx context.Context, listID string, term string, language string) (*http.Request, error) {
    74  	urlParameters := map[string]interface{}{
    75  		"Endpoint": client.Endpoint,
    76  	}
    77  
    78  	pathParameters := map[string]interface{}{
    79  		"listId": autorest.Encode("path", listID),
    80  		"term":   autorest.Encode("path", term),
    81  	}
    82  
    83  	queryParameters := map[string]interface{}{
    84  		"language": autorest.Encode("query", language),
    85  	}
    86  
    87  	preparer := autorest.CreatePreparer(
    88  		autorest.AsPost(),
    89  		autorest.WithCustomBaseURL("{Endpoint}", urlParameters),
    90  		autorest.WithPathParameters("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}", pathParameters),
    91  		autorest.WithQueryParameters(queryParameters))
    92  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
    93  }
    94  
    95  // AddTermSender sends the AddTerm request. The method will close the
    96  // http.Response Body if it receives an error.
    97  func (client ListManagementTermClient) AddTermSender(req *http.Request) (*http.Response, error) {
    98  	return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
    99  }
   100  
   101  // AddTermResponder handles the response to the AddTerm request. The method always
   102  // closes the http.Response Body.
   103  func (client ListManagementTermClient) AddTermResponder(resp *http.Response) (result autorest.Response, err error) {
   104  	err = autorest.Respond(
   105  		resp,
   106  		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
   107  		autorest.ByClosing())
   108  	result.Response = resp
   109  	return
   110  }
   111  
   112  // DeleteAllTerms deletes all terms from the list with list Id equal to the list Id passed.
   113  // Parameters:
   114  // listID - list Id of the image list.
   115  // language - language of the terms.
   116  func (client ListManagementTermClient) DeleteAllTerms(ctx context.Context, listID string, language string) (result String, err error) {
   117  	if tracing.IsEnabled() {
   118  		ctx = tracing.StartSpan(ctx, fqdn+"/ListManagementTermClient.DeleteAllTerms")
   119  		defer func() {
   120  			sc := -1
   121  			if result.Response.Response != nil {
   122  				sc = result.Response.Response.StatusCode
   123  			}
   124  			tracing.EndSpan(ctx, sc, err)
   125  		}()
   126  	}
   127  	req, err := client.DeleteAllTermsPreparer(ctx, listID, language)
   128  	if err != nil {
   129  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "DeleteAllTerms", nil, "Failure preparing request")
   130  		return
   131  	}
   132  
   133  	resp, err := client.DeleteAllTermsSender(req)
   134  	if err != nil {
   135  		result.Response = autorest.Response{Response: resp}
   136  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "DeleteAllTerms", resp, "Failure sending request")
   137  		return
   138  	}
   139  
   140  	result, err = client.DeleteAllTermsResponder(resp)
   141  	if err != nil {
   142  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "DeleteAllTerms", resp, "Failure responding to request")
   143  		return
   144  	}
   145  
   146  	return
   147  }
   148  
   149  // DeleteAllTermsPreparer prepares the DeleteAllTerms request.
   150  func (client ListManagementTermClient) DeleteAllTermsPreparer(ctx context.Context, listID string, language string) (*http.Request, error) {
   151  	urlParameters := map[string]interface{}{
   152  		"Endpoint": client.Endpoint,
   153  	}
   154  
   155  	pathParameters := map[string]interface{}{
   156  		"listId": autorest.Encode("path", listID),
   157  	}
   158  
   159  	queryParameters := map[string]interface{}{
   160  		"language": autorest.Encode("query", language),
   161  	}
   162  
   163  	preparer := autorest.CreatePreparer(
   164  		autorest.AsDelete(),
   165  		autorest.WithCustomBaseURL("{Endpoint}", urlParameters),
   166  		autorest.WithPathParameters("/contentmoderator/lists/v1.0/termlists/{listId}/terms", pathParameters),
   167  		autorest.WithQueryParameters(queryParameters))
   168  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   169  }
   170  
   171  // DeleteAllTermsSender sends the DeleteAllTerms request. The method will close the
   172  // http.Response Body if it receives an error.
   173  func (client ListManagementTermClient) DeleteAllTermsSender(req *http.Request) (*http.Response, error) {
   174  	return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
   175  }
   176  
   177  // DeleteAllTermsResponder handles the response to the DeleteAllTerms request. The method always
   178  // closes the http.Response Body.
   179  func (client ListManagementTermClient) DeleteAllTermsResponder(resp *http.Response) (result String, err error) {
   180  	err = autorest.Respond(
   181  		resp,
   182  		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
   183  		autorest.ByUnmarshallingJSON(&result.Value),
   184  		autorest.ByClosing())
   185  	result.Response = autorest.Response{Response: resp}
   186  	return
   187  }
   188  
   189  // DeleteTerm deletes a term from the list with list Id equal to the list Id passed.
   190  // Parameters:
   191  // listID - list Id of the image list.
   192  // term - term to be deleted
   193  // language - language of the terms.
   194  func (client ListManagementTermClient) DeleteTerm(ctx context.Context, listID string, term string, language string) (result String, err error) {
   195  	if tracing.IsEnabled() {
   196  		ctx = tracing.StartSpan(ctx, fqdn+"/ListManagementTermClient.DeleteTerm")
   197  		defer func() {
   198  			sc := -1
   199  			if result.Response.Response != nil {
   200  				sc = result.Response.Response.StatusCode
   201  			}
   202  			tracing.EndSpan(ctx, sc, err)
   203  		}()
   204  	}
   205  	req, err := client.DeleteTermPreparer(ctx, listID, term, language)
   206  	if err != nil {
   207  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "DeleteTerm", nil, "Failure preparing request")
   208  		return
   209  	}
   210  
   211  	resp, err := client.DeleteTermSender(req)
   212  	if err != nil {
   213  		result.Response = autorest.Response{Response: resp}
   214  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "DeleteTerm", resp, "Failure sending request")
   215  		return
   216  	}
   217  
   218  	result, err = client.DeleteTermResponder(resp)
   219  	if err != nil {
   220  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "DeleteTerm", resp, "Failure responding to request")
   221  		return
   222  	}
   223  
   224  	return
   225  }
   226  
   227  // DeleteTermPreparer prepares the DeleteTerm request.
   228  func (client ListManagementTermClient) DeleteTermPreparer(ctx context.Context, listID string, term string, language string) (*http.Request, error) {
   229  	urlParameters := map[string]interface{}{
   230  		"Endpoint": client.Endpoint,
   231  	}
   232  
   233  	pathParameters := map[string]interface{}{
   234  		"listId": autorest.Encode("path", listID),
   235  		"term":   autorest.Encode("path", term),
   236  	}
   237  
   238  	queryParameters := map[string]interface{}{
   239  		"language": autorest.Encode("query", language),
   240  	}
   241  
   242  	preparer := autorest.CreatePreparer(
   243  		autorest.AsDelete(),
   244  		autorest.WithCustomBaseURL("{Endpoint}", urlParameters),
   245  		autorest.WithPathParameters("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}", pathParameters),
   246  		autorest.WithQueryParameters(queryParameters))
   247  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   248  }
   249  
   250  // DeleteTermSender sends the DeleteTerm request. The method will close the
   251  // http.Response Body if it receives an error.
   252  func (client ListManagementTermClient) DeleteTermSender(req *http.Request) (*http.Response, error) {
   253  	return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
   254  }
   255  
   256  // DeleteTermResponder handles the response to the DeleteTerm request. The method always
   257  // closes the http.Response Body.
   258  func (client ListManagementTermClient) DeleteTermResponder(resp *http.Response) (result String, err error) {
   259  	err = autorest.Respond(
   260  		resp,
   261  		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
   262  		autorest.ByUnmarshallingJSON(&result.Value),
   263  		autorest.ByClosing())
   264  	result.Response = autorest.Response{Response: resp}
   265  	return
   266  }
   267  
   268  // GetAllTerms gets all terms from the list with list Id equal to the list Id passed.
   269  // Parameters:
   270  // listID - list Id of the image list.
   271  // language - language of the terms.
   272  // offset - the pagination start index.
   273  // limit - the max limit.
   274  func (client ListManagementTermClient) GetAllTerms(ctx context.Context, listID string, language string, offset *int32, limit *int32) (result Terms, err error) {
   275  	if tracing.IsEnabled() {
   276  		ctx = tracing.StartSpan(ctx, fqdn+"/ListManagementTermClient.GetAllTerms")
   277  		defer func() {
   278  			sc := -1
   279  			if result.Response.Response != nil {
   280  				sc = result.Response.Response.StatusCode
   281  			}
   282  			tracing.EndSpan(ctx, sc, err)
   283  		}()
   284  	}
   285  	req, err := client.GetAllTermsPreparer(ctx, listID, language, offset, limit)
   286  	if err != nil {
   287  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "GetAllTerms", nil, "Failure preparing request")
   288  		return
   289  	}
   290  
   291  	resp, err := client.GetAllTermsSender(req)
   292  	if err != nil {
   293  		result.Response = autorest.Response{Response: resp}
   294  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "GetAllTerms", resp, "Failure sending request")
   295  		return
   296  	}
   297  
   298  	result, err = client.GetAllTermsResponder(resp)
   299  	if err != nil {
   300  		err = autorest.NewErrorWithError(err, "contentmoderator.ListManagementTermClient", "GetAllTerms", resp, "Failure responding to request")
   301  		return
   302  	}
   303  
   304  	return
   305  }
   306  
   307  // GetAllTermsPreparer prepares the GetAllTerms request.
   308  func (client ListManagementTermClient) GetAllTermsPreparer(ctx context.Context, listID string, language string, offset *int32, limit *int32) (*http.Request, error) {
   309  	urlParameters := map[string]interface{}{
   310  		"Endpoint": client.Endpoint,
   311  	}
   312  
   313  	pathParameters := map[string]interface{}{
   314  		"listId": autorest.Encode("path", listID),
   315  	}
   316  
   317  	queryParameters := map[string]interface{}{
   318  		"language": autorest.Encode("query", language),
   319  	}
   320  	if offset != nil {
   321  		queryParameters["offset"] = autorest.Encode("query", *offset)
   322  	}
   323  	if limit != nil {
   324  		queryParameters["limit"] = autorest.Encode("query", *limit)
   325  	}
   326  
   327  	preparer := autorest.CreatePreparer(
   328  		autorest.AsGet(),
   329  		autorest.WithCustomBaseURL("{Endpoint}", urlParameters),
   330  		autorest.WithPathParameters("/contentmoderator/lists/v1.0/termlists/{listId}/terms", pathParameters),
   331  		autorest.WithQueryParameters(queryParameters))
   332  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   333  }
   334  
   335  // GetAllTermsSender sends the GetAllTerms request. The method will close the
   336  // http.Response Body if it receives an error.
   337  func (client ListManagementTermClient) GetAllTermsSender(req *http.Request) (*http.Response, error) {
   338  	return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
   339  }
   340  
   341  // GetAllTermsResponder handles the response to the GetAllTerms request. The method always
   342  // closes the http.Response Body.
   343  func (client ListManagementTermClient) GetAllTermsResponder(resp *http.Response) (result Terms, err error) {
   344  	err = autorest.Respond(
   345  		resp,
   346  		azure.WithErrorUnlessStatusCode(http.StatusOK),
   347  		autorest.ByUnmarshallingJSON(&result),
   348  		autorest.ByClosing())
   349  	result.Response = autorest.Response{Response: resp}
   350  	return
   351  }
   352  

View as plain text