1 package qnamaker
2
3
4
5
6
7
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
18 type EndpointSettingsClient struct {
19 BaseClient
20 }
21
22
23 func NewEndpointSettingsClient(endpoint string) EndpointSettingsClient {
24 return EndpointSettingsClient{New(endpoint)}
25 }
26
27
28 func (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
62 func (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
75
76 func (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
81
82 func (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
93
94
95 func (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
129 func (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
144
145 func (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
150
151 func (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
View as plain text