1package qnamaker 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/tracing" 14 "net/http" 15) 16 17// EndpointSettingsClient is the an API for QnAMaker Service 18type EndpointSettingsClient struct { 19 BaseClient 20} 21 22// NewEndpointSettingsClient creates an instance of the EndpointSettingsClient client. 23func NewEndpointSettingsClient(endpoint string) EndpointSettingsClient { 24 return EndpointSettingsClient{New(endpoint)} 25} 26 27// GetSettings sends the get settings request. 28func (client EndpointSettingsClient) GetSettings(ctx context.Context) (result EndpointSettingsDTO, err error) { 29 if tracing.IsEnabled() { 30 ctx = tracing.StartSpan(ctx, fqdn+"/EndpointSettingsClient.GetSettings") 31 defer func() { 32 sc := -1 33 if result.Response.Response != nil { 34 sc = result.Response.Response.StatusCode 35 } 36 tracing.EndSpan(ctx, sc, err) 37 }() 38 } 39 req, err := client.GetSettingsPreparer(ctx) 40 if err != nil { 41 err = autorest.NewErrorWithError(err, "qnamaker.EndpointSettingsClient", "GetSettings", nil, "Failure preparing request") 42 return 43 } 44 45 resp, err := client.GetSettingsSender(req) 46 if err != nil { 47 result.Response = autorest.Response{Response: resp} 48 err = autorest.NewErrorWithError(err, "qnamaker.EndpointSettingsClient", "GetSettings", resp, "Failure sending request") 49 return 50 } 51 52 result, err = client.GetSettingsResponder(resp) 53 if err != nil { 54 err = autorest.NewErrorWithError(err, "qnamaker.EndpointSettingsClient", "GetSettings", resp, "Failure responding to request") 55 return 56 } 57 58 return 59} 60 61// GetSettingsPreparer prepares the GetSettings request. 62func (client EndpointSettingsClient) GetSettingsPreparer(ctx context.Context) (*http.Request, error) { 63 urlParameters := map[string]interface{}{ 64 "Endpoint": client.Endpoint, 65 } 66 67 preparer := autorest.CreatePreparer( 68 autorest.AsGet(), 69 autorest.WithCustomBaseURL("{Endpoint}/qnamaker/v4.0", urlParameters), 70 autorest.WithPath("/endpointSettings")) 71 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 72} 73 74// GetSettingsSender sends the GetSettings request. The method will close the 75// http.Response Body if it receives an error. 76func (client EndpointSettingsClient) GetSettingsSender(req *http.Request) (*http.Response, error) { 77 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 78} 79 80// GetSettingsResponder handles the response to the GetSettings request. The method always 81// closes the http.Response Body. 82func (client EndpointSettingsClient) GetSettingsResponder(resp *http.Response) (result EndpointSettingsDTO, err error) { 83 err = autorest.Respond( 84 resp, 85 azure.WithErrorUnlessStatusCode(http.StatusOK), 86 autorest.ByUnmarshallingJSON(&result), 87 autorest.ByClosing()) 88 result.Response = autorest.Response{Response: resp} 89 return 90} 91 92// UpdateSettings sends the update settings request. 93// Parameters: 94// endpointSettingsPayload - post body of the request. 95func (client EndpointSettingsClient) UpdateSettings(ctx context.Context, endpointSettingsPayload EndpointSettingsDTO) (result autorest.Response, err error) { 96 if tracing.IsEnabled() { 97 ctx = tracing.StartSpan(ctx, fqdn+"/EndpointSettingsClient.UpdateSettings") 98 defer func() { 99 sc := -1 100 if result.Response != nil { 101 sc = result.Response.StatusCode 102 } 103 tracing.EndSpan(ctx, sc, err) 104 }() 105 } 106 req, err := client.UpdateSettingsPreparer(ctx, endpointSettingsPayload) 107 if err != nil { 108 err = autorest.NewErrorWithError(err, "qnamaker.EndpointSettingsClient", "UpdateSettings", nil, "Failure preparing request") 109 return 110 } 111 112 resp, err := client.UpdateSettingsSender(req) 113 if err != nil { 114 result.Response = resp 115 err = autorest.NewErrorWithError(err, "qnamaker.EndpointSettingsClient", "UpdateSettings", resp, "Failure sending request") 116 return 117 } 118 119 result, err = client.UpdateSettingsResponder(resp) 120 if err != nil { 121 err = autorest.NewErrorWithError(err, "qnamaker.EndpointSettingsClient", "UpdateSettings", resp, "Failure responding to request") 122 return 123 } 124 125 return 126} 127 128// UpdateSettingsPreparer prepares the UpdateSettings request. 129func (client EndpointSettingsClient) UpdateSettingsPreparer(ctx context.Context, endpointSettingsPayload EndpointSettingsDTO) (*http.Request, error) { 130 urlParameters := map[string]interface{}{ 131 "Endpoint": client.Endpoint, 132 } 133 134 preparer := autorest.CreatePreparer( 135 autorest.AsContentType("application/json; charset=utf-8"), 136 autorest.AsPatch(), 137 autorest.WithCustomBaseURL("{Endpoint}/qnamaker/v4.0", urlParameters), 138 autorest.WithPath("/endpointSettings"), 139 autorest.WithJSON(endpointSettingsPayload)) 140 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 141} 142 143// UpdateSettingsSender sends the UpdateSettings request. The method will close the 144// http.Response Body if it receives an error. 145func (client EndpointSettingsClient) UpdateSettingsSender(req *http.Request) (*http.Response, error) { 146 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 147} 148 149// UpdateSettingsResponder handles the response to the UpdateSettings request. The method always 150// closes the http.Response Body. 151func (client EndpointSettingsClient) UpdateSettingsResponder(resp *http.Response) (result autorest.Response, err error) { 152 err = autorest.Respond( 153 resp, 154 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), 155 autorest.ByClosing()) 156 result.Response = resp 157 return 158} 159