1package apimanagement 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 9import ( 10 "context" 11 "github.com/Azure/go-autorest/autorest" 12 "github.com/Azure/go-autorest/autorest/azure" 13 "github.com/Azure/go-autorest/autorest/validation" 14 "github.com/Azure/go-autorest/tracing" 15 "net/http" 16) 17 18// ContentItemClient is the apiManagement Client 19type ContentItemClient struct { 20 BaseClient 21} 22 23// NewContentItemClient creates an instance of the ContentItemClient client. 24func NewContentItemClient(subscriptionID string) ContentItemClient { 25 return NewContentItemClientWithBaseURI(DefaultBaseURI, subscriptionID) 26} 27 28// NewContentItemClientWithBaseURI creates an instance of the ContentItemClient client using a custom endpoint. Use 29// this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 30func NewContentItemClientWithBaseURI(baseURI string, subscriptionID string) ContentItemClient { 31 return ContentItemClient{NewWithBaseURI(baseURI, subscriptionID)} 32} 33 34// CreateOrUpdate creates new content item 35// Parameters: 36// resourceGroupName - the name of the resource group. 37// serviceName - the name of the API Management service. 38// contentTypeID - content type identifier. 39// contentItemID - content item identifier. 40// ifMatch - eTag of the Entity. Not required when creating an entity, but required when updating an entity. 41func (client ContentItemClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string, ifMatch string) (result ContentItemContract, err error) { 42 if tracing.IsEnabled() { 43 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.CreateOrUpdate") 44 defer func() { 45 sc := -1 46 if result.Response.Response != nil { 47 sc = result.Response.Response.StatusCode 48 } 49 tracing.EndSpan(ctx, sc, err) 50 }() 51 } 52 if err := validation.Validate([]validation.Validation{ 53 {TargetValue: serviceName, 54 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 55 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 56 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 57 {TargetValue: contentTypeID, 58 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 59 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, 60 {TargetValue: contentItemID, 61 Constraints: []validation.Constraint{{Target: "contentItemID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 62 {Target: "contentItemID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 63 return result, validation.NewError("apimanagement.ContentItemClient", "CreateOrUpdate", err.Error()) 64 } 65 66 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, contentTypeID, contentItemID, ifMatch) 67 if err != nil { 68 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "CreateOrUpdate", nil, "Failure preparing request") 69 return 70 } 71 72 resp, err := client.CreateOrUpdateSender(req) 73 if err != nil { 74 result.Response = autorest.Response{Response: resp} 75 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "CreateOrUpdate", resp, "Failure sending request") 76 return 77 } 78 79 result, err = client.CreateOrUpdateResponder(resp) 80 if err != nil { 81 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "CreateOrUpdate", resp, "Failure responding to request") 82 return 83 } 84 85 return 86} 87 88// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 89func (client ContentItemClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string, ifMatch string) (*http.Request, error) { 90 pathParameters := map[string]interface{}{ 91 "contentItemId": autorest.Encode("path", contentItemID), 92 "contentTypeId": autorest.Encode("path", contentTypeID), 93 "resourceGroupName": autorest.Encode("path", resourceGroupName), 94 "serviceName": autorest.Encode("path", serviceName), 95 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 96 } 97 98 const APIVersion = "2020-12-01" 99 queryParameters := map[string]interface{}{ 100 "api-version": APIVersion, 101 } 102 103 preparer := autorest.CreatePreparer( 104 autorest.AsPut(), 105 autorest.WithBaseURL(client.BaseURI), 106 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", pathParameters), 107 autorest.WithQueryParameters(queryParameters)) 108 if len(ifMatch) > 0 { 109 preparer = autorest.DecoratePreparer(preparer, 110 autorest.WithHeader("If-Match", autorest.String(ifMatch))) 111 } 112 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 113} 114 115// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 116// http.Response Body if it receives an error. 117func (client ContentItemClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { 118 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 119} 120 121// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 122// closes the http.Response Body. 123func (client ContentItemClient) CreateOrUpdateResponder(resp *http.Response) (result ContentItemContract, err error) { 124 err = autorest.Respond( 125 resp, 126 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 127 autorest.ByUnmarshallingJSON(&result), 128 autorest.ByClosing()) 129 result.Response = autorest.Response{Response: resp} 130 return 131} 132 133// Delete removes specified content item. 134// Parameters: 135// resourceGroupName - the name of the resource group. 136// serviceName - the name of the API Management service. 137// contentTypeID - content type identifier. 138// contentItemID - content item identifier. 139// ifMatch - eTag of the Entity. ETag should match the current entity state from the header response of the GET 140// request or it should be * for unconditional update. 141func (client ContentItemClient) Delete(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string, ifMatch string) (result autorest.Response, err error) { 142 if tracing.IsEnabled() { 143 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.Delete") 144 defer func() { 145 sc := -1 146 if result.Response != nil { 147 sc = result.Response.StatusCode 148 } 149 tracing.EndSpan(ctx, sc, err) 150 }() 151 } 152 if err := validation.Validate([]validation.Validation{ 153 {TargetValue: serviceName, 154 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 155 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 156 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 157 {TargetValue: contentTypeID, 158 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 159 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, 160 {TargetValue: contentItemID, 161 Constraints: []validation.Constraint{{Target: "contentItemID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 162 {Target: "contentItemID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 163 return result, validation.NewError("apimanagement.ContentItemClient", "Delete", err.Error()) 164 } 165 166 req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName, contentTypeID, contentItemID, ifMatch) 167 if err != nil { 168 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Delete", nil, "Failure preparing request") 169 return 170 } 171 172 resp, err := client.DeleteSender(req) 173 if err != nil { 174 result.Response = resp 175 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Delete", resp, "Failure sending request") 176 return 177 } 178 179 result, err = client.DeleteResponder(resp) 180 if err != nil { 181 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Delete", resp, "Failure responding to request") 182 return 183 } 184 185 return 186} 187 188// DeletePreparer prepares the Delete request. 189func (client ContentItemClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string, ifMatch string) (*http.Request, error) { 190 pathParameters := map[string]interface{}{ 191 "contentItemId": autorest.Encode("path", contentItemID), 192 "contentTypeId": autorest.Encode("path", contentTypeID), 193 "resourceGroupName": autorest.Encode("path", resourceGroupName), 194 "serviceName": autorest.Encode("path", serviceName), 195 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 196 } 197 198 const APIVersion = "2020-12-01" 199 queryParameters := map[string]interface{}{ 200 "api-version": APIVersion, 201 } 202 203 preparer := autorest.CreatePreparer( 204 autorest.AsDelete(), 205 autorest.WithBaseURL(client.BaseURI), 206 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", pathParameters), 207 autorest.WithQueryParameters(queryParameters), 208 autorest.WithHeader("If-Match", autorest.String(ifMatch))) 209 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 210} 211 212// DeleteSender sends the Delete request. The method will close the 213// http.Response Body if it receives an error. 214func (client ContentItemClient) DeleteSender(req *http.Request) (*http.Response, error) { 215 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 216} 217 218// DeleteResponder handles the response to the Delete request. The method always 219// closes the http.Response Body. 220func (client ContentItemClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 221 err = autorest.Respond( 222 resp, 223 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), 224 autorest.ByClosing()) 225 result.Response = resp 226 return 227} 228 229// Get returns content item details 230// Parameters: 231// resourceGroupName - the name of the resource group. 232// serviceName - the name of the API Management service. 233// contentTypeID - content type identifier. 234// contentItemID - content item identifier. 235func (client ContentItemClient) Get(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string) (result ContentItemContract, err error) { 236 if tracing.IsEnabled() { 237 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.Get") 238 defer func() { 239 sc := -1 240 if result.Response.Response != nil { 241 sc = result.Response.Response.StatusCode 242 } 243 tracing.EndSpan(ctx, sc, err) 244 }() 245 } 246 if err := validation.Validate([]validation.Validation{ 247 {TargetValue: serviceName, 248 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 249 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 250 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 251 {TargetValue: contentTypeID, 252 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 253 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, 254 {TargetValue: contentItemID, 255 Constraints: []validation.Constraint{{Target: "contentItemID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 256 {Target: "contentItemID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 257 return result, validation.NewError("apimanagement.ContentItemClient", "Get", err.Error()) 258 } 259 260 req, err := client.GetPreparer(ctx, resourceGroupName, serviceName, contentTypeID, contentItemID) 261 if err != nil { 262 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Get", nil, "Failure preparing request") 263 return 264 } 265 266 resp, err := client.GetSender(req) 267 if err != nil { 268 result.Response = autorest.Response{Response: resp} 269 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Get", resp, "Failure sending request") 270 return 271 } 272 273 result, err = client.GetResponder(resp) 274 if err != nil { 275 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Get", resp, "Failure responding to request") 276 return 277 } 278 279 return 280} 281 282// GetPreparer prepares the Get request. 283func (client ContentItemClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string) (*http.Request, error) { 284 pathParameters := map[string]interface{}{ 285 "contentItemId": autorest.Encode("path", contentItemID), 286 "contentTypeId": autorest.Encode("path", contentTypeID), 287 "resourceGroupName": autorest.Encode("path", resourceGroupName), 288 "serviceName": autorest.Encode("path", serviceName), 289 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 290 } 291 292 const APIVersion = "2020-12-01" 293 queryParameters := map[string]interface{}{ 294 "api-version": APIVersion, 295 } 296 297 preparer := autorest.CreatePreparer( 298 autorest.AsGet(), 299 autorest.WithBaseURL(client.BaseURI), 300 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", pathParameters), 301 autorest.WithQueryParameters(queryParameters)) 302 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 303} 304 305// GetSender sends the Get request. The method will close the 306// http.Response Body if it receives an error. 307func (client ContentItemClient) GetSender(req *http.Request) (*http.Response, error) { 308 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 309} 310 311// GetResponder handles the response to the Get request. The method always 312// closes the http.Response Body. 313func (client ContentItemClient) GetResponder(resp *http.Response) (result ContentItemContract, err error) { 314 err = autorest.Respond( 315 resp, 316 azure.WithErrorUnlessStatusCode(http.StatusOK), 317 autorest.ByUnmarshallingJSON(&result), 318 autorest.ByClosing()) 319 result.Response = autorest.Response{Response: resp} 320 return 321} 322 323// GetEntityTag returns content item metadata 324// Parameters: 325// resourceGroupName - the name of the resource group. 326// serviceName - the name of the API Management service. 327// contentTypeID - content type identifier. 328// contentItemID - content item identifier. 329func (client ContentItemClient) GetEntityTag(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string) (result autorest.Response, err error) { 330 if tracing.IsEnabled() { 331 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.GetEntityTag") 332 defer func() { 333 sc := -1 334 if result.Response != nil { 335 sc = result.Response.StatusCode 336 } 337 tracing.EndSpan(ctx, sc, err) 338 }() 339 } 340 if err := validation.Validate([]validation.Validation{ 341 {TargetValue: serviceName, 342 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 343 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 344 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 345 {TargetValue: contentTypeID, 346 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 347 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, 348 {TargetValue: contentItemID, 349 Constraints: []validation.Constraint{{Target: "contentItemID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 350 {Target: "contentItemID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 351 return result, validation.NewError("apimanagement.ContentItemClient", "GetEntityTag", err.Error()) 352 } 353 354 req, err := client.GetEntityTagPreparer(ctx, resourceGroupName, serviceName, contentTypeID, contentItemID) 355 if err != nil { 356 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "GetEntityTag", nil, "Failure preparing request") 357 return 358 } 359 360 resp, err := client.GetEntityTagSender(req) 361 if err != nil { 362 result.Response = resp 363 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "GetEntityTag", resp, "Failure sending request") 364 return 365 } 366 367 result, err = client.GetEntityTagResponder(resp) 368 if err != nil { 369 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "GetEntityTag", resp, "Failure responding to request") 370 return 371 } 372 373 return 374} 375 376// GetEntityTagPreparer prepares the GetEntityTag request. 377func (client ContentItemClient) GetEntityTagPreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string) (*http.Request, error) { 378 pathParameters := map[string]interface{}{ 379 "contentItemId": autorest.Encode("path", contentItemID), 380 "contentTypeId": autorest.Encode("path", contentTypeID), 381 "resourceGroupName": autorest.Encode("path", resourceGroupName), 382 "serviceName": autorest.Encode("path", serviceName), 383 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 384 } 385 386 const APIVersion = "2020-12-01" 387 queryParameters := map[string]interface{}{ 388 "api-version": APIVersion, 389 } 390 391 preparer := autorest.CreatePreparer( 392 autorest.AsHead(), 393 autorest.WithBaseURL(client.BaseURI), 394 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", pathParameters), 395 autorest.WithQueryParameters(queryParameters)) 396 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 397} 398 399// GetEntityTagSender sends the GetEntityTag request. The method will close the 400// http.Response Body if it receives an error. 401func (client ContentItemClient) GetEntityTagSender(req *http.Request) (*http.Response, error) { 402 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 403} 404 405// GetEntityTagResponder handles the response to the GetEntityTag request. The method always 406// closes the http.Response Body. 407func (client ContentItemClient) GetEntityTagResponder(resp *http.Response) (result autorest.Response, err error) { 408 err = autorest.Respond( 409 resp, 410 azure.WithErrorUnlessStatusCode(http.StatusOK), 411 autorest.ByClosing()) 412 result.Response = resp 413 return 414} 415 416// ListByService returns list of content items 417// Parameters: 418// resourceGroupName - the name of the resource group. 419// serviceName - the name of the API Management service. 420// contentTypeID - content type identifier. 421func (client ContentItemClient) ListByService(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string) (result ContentItemCollectionPage, err error) { 422 if tracing.IsEnabled() { 423 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.ListByService") 424 defer func() { 425 sc := -1 426 if result.cic.Response.Response != nil { 427 sc = result.cic.Response.Response.StatusCode 428 } 429 tracing.EndSpan(ctx, sc, err) 430 }() 431 } 432 if err := validation.Validate([]validation.Validation{ 433 {TargetValue: serviceName, 434 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 435 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 436 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 437 {TargetValue: contentTypeID, 438 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 439 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 440 return result, validation.NewError("apimanagement.ContentItemClient", "ListByService", err.Error()) 441 } 442 443 result.fn = client.listByServiceNextResults 444 req, err := client.ListByServicePreparer(ctx, resourceGroupName, serviceName, contentTypeID) 445 if err != nil { 446 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "ListByService", nil, "Failure preparing request") 447 return 448 } 449 450 resp, err := client.ListByServiceSender(req) 451 if err != nil { 452 result.cic.Response = autorest.Response{Response: resp} 453 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "ListByService", resp, "Failure sending request") 454 return 455 } 456 457 result.cic, err = client.ListByServiceResponder(resp) 458 if err != nil { 459 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "ListByService", resp, "Failure responding to request") 460 return 461 } 462 if result.cic.hasNextLink() && result.cic.IsEmpty() { 463 err = result.NextWithContext(ctx) 464 return 465 } 466 467 return 468} 469 470// ListByServicePreparer prepares the ListByService request. 471func (client ContentItemClient) ListByServicePreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string) (*http.Request, error) { 472 pathParameters := map[string]interface{}{ 473 "contentTypeId": autorest.Encode("path", contentTypeID), 474 "resourceGroupName": autorest.Encode("path", resourceGroupName), 475 "serviceName": autorest.Encode("path", serviceName), 476 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 477 } 478 479 const APIVersion = "2020-12-01" 480 queryParameters := map[string]interface{}{ 481 "api-version": APIVersion, 482 } 483 484 preparer := autorest.CreatePreparer( 485 autorest.AsGet(), 486 autorest.WithBaseURL(client.BaseURI), 487 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems", pathParameters), 488 autorest.WithQueryParameters(queryParameters)) 489 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 490} 491 492// ListByServiceSender sends the ListByService request. The method will close the 493// http.Response Body if it receives an error. 494func (client ContentItemClient) ListByServiceSender(req *http.Request) (*http.Response, error) { 495 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 496} 497 498// ListByServiceResponder handles the response to the ListByService request. The method always 499// closes the http.Response Body. 500func (client ContentItemClient) ListByServiceResponder(resp *http.Response) (result ContentItemCollection, err error) { 501 err = autorest.Respond( 502 resp, 503 azure.WithErrorUnlessStatusCode(http.StatusOK), 504 autorest.ByUnmarshallingJSON(&result), 505 autorest.ByClosing()) 506 result.Response = autorest.Response{Response: resp} 507 return 508} 509 510// listByServiceNextResults retrieves the next set of results, if any. 511func (client ContentItemClient) listByServiceNextResults(ctx context.Context, lastResults ContentItemCollection) (result ContentItemCollection, err error) { 512 req, err := lastResults.contentItemCollectionPreparer(ctx) 513 if err != nil { 514 return result, autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "listByServiceNextResults", nil, "Failure preparing next results request") 515 } 516 if req == nil { 517 return 518 } 519 resp, err := client.ListByServiceSender(req) 520 if err != nil { 521 result.Response = autorest.Response{Response: resp} 522 return result, autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "listByServiceNextResults", resp, "Failure sending next results request") 523 } 524 result, err = client.ListByServiceResponder(resp) 525 if err != nil { 526 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "listByServiceNextResults", resp, "Failure responding to next results request") 527 } 528 return 529} 530 531// ListByServiceComplete enumerates all values, automatically crossing page boundaries as required. 532func (client ContentItemClient) ListByServiceComplete(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string) (result ContentItemCollectionIterator, err error) { 533 if tracing.IsEnabled() { 534 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.ListByService") 535 defer func() { 536 sc := -1 537 if result.Response().Response.Response != nil { 538 sc = result.page.Response().Response.Response.StatusCode 539 } 540 tracing.EndSpan(ctx, sc, err) 541 }() 542 } 543 result.page, err = client.ListByService(ctx, resourceGroupName, serviceName, contentTypeID) 544 return 545} 546