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 EndpointKeysClient struct {
19 BaseClient
20 }
21
22
23 func NewEndpointKeysClient(endpoint string) EndpointKeysClient {
24 return EndpointKeysClient{New(endpoint)}
25 }
26
27
28 func (client EndpointKeysClient) GetKeys(ctx context.Context) (result EndpointKeysDTO, err error) {
29 if tracing.IsEnabled() {
30 ctx = tracing.StartSpan(ctx, fqdn+"/EndpointKeysClient.GetKeys")
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.GetKeysPreparer(ctx)
40 if err != nil {
41 err = autorest.NewErrorWithError(err, "qnamaker.EndpointKeysClient", "GetKeys", nil, "Failure preparing request")
42 return
43 }
44
45 resp, err := client.GetKeysSender(req)
46 if err != nil {
47 result.Response = autorest.Response{Response: resp}
48 err = autorest.NewErrorWithError(err, "qnamaker.EndpointKeysClient", "GetKeys", resp, "Failure sending request")
49 return
50 }
51
52 result, err = client.GetKeysResponder(resp)
53 if err != nil {
54 err = autorest.NewErrorWithError(err, "qnamaker.EndpointKeysClient", "GetKeys", resp, "Failure responding to request")
55 return
56 }
57
58 return
59 }
60
61
62 func (client EndpointKeysClient) GetKeysPreparer(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("/endpointkeys"))
71 return preparer.Prepare((&http.Request{}).WithContext(ctx))
72 }
73
74
75
76 func (client EndpointKeysClient) GetKeysSender(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 EndpointKeysClient) GetKeysResponder(resp *http.Response) (result EndpointKeysDTO, 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 EndpointKeysClient) RefreshKeys(ctx context.Context, keyType string) (result EndpointKeysDTO, err error) {
96 if tracing.IsEnabled() {
97 ctx = tracing.StartSpan(ctx, fqdn+"/EndpointKeysClient.RefreshKeys")
98 defer func() {
99 sc := -1
100 if result.Response.Response != nil {
101 sc = result.Response.Response.StatusCode
102 }
103 tracing.EndSpan(ctx, sc, err)
104 }()
105 }
106 req, err := client.RefreshKeysPreparer(ctx, keyType)
107 if err != nil {
108 err = autorest.NewErrorWithError(err, "qnamaker.EndpointKeysClient", "RefreshKeys", nil, "Failure preparing request")
109 return
110 }
111
112 resp, err := client.RefreshKeysSender(req)
113 if err != nil {
114 result.Response = autorest.Response{Response: resp}
115 err = autorest.NewErrorWithError(err, "qnamaker.EndpointKeysClient", "RefreshKeys", resp, "Failure sending request")
116 return
117 }
118
119 result, err = client.RefreshKeysResponder(resp)
120 if err != nil {
121 err = autorest.NewErrorWithError(err, "qnamaker.EndpointKeysClient", "RefreshKeys", resp, "Failure responding to request")
122 return
123 }
124
125 return
126 }
127
128
129 func (client EndpointKeysClient) RefreshKeysPreparer(ctx context.Context, keyType string) (*http.Request, error) {
130 urlParameters := map[string]interface{}{
131 "Endpoint": client.Endpoint,
132 }
133
134 pathParameters := map[string]interface{}{
135 "keyType": autorest.Encode("path", keyType),
136 }
137
138 preparer := autorest.CreatePreparer(
139 autorest.AsPatch(),
140 autorest.WithCustomBaseURL("{Endpoint}/qnamaker/v4.0", urlParameters),
141 autorest.WithPathParameters("/endpointkeys/{keyType}", pathParameters))
142 return preparer.Prepare((&http.Request{}).WithContext(ctx))
143 }
144
145
146
147 func (client EndpointKeysClient) RefreshKeysSender(req *http.Request) (*http.Response, error) {
148 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
149 }
150
151
152
153 func (client EndpointKeysClient) RefreshKeysResponder(resp *http.Response) (result EndpointKeysDTO, err error) {
154 err = autorest.Respond(
155 resp,
156 azure.WithErrorUnlessStatusCode(http.StatusOK),
157 autorest.ByUnmarshallingJSON(&result),
158 autorest.ByClosing())
159 result.Response = autorest.Response{Response: resp}
160 return
161 }
162
View as plain text