...
1 package artifacts
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 WorkspaceClient struct {
19 BaseClient
20 }
21
22
23 func NewWorkspaceClient(endpoint string) WorkspaceClient {
24 return WorkspaceClient{New(endpoint)}
25 }
26
27
28 func (client WorkspaceClient) Get(ctx context.Context) (result Workspace, err error) {
29 if tracing.IsEnabled() {
30 ctx = tracing.StartSpan(ctx, fqdn+"/WorkspaceClient.Get")
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.GetPreparer(ctx)
40 if err != nil {
41 err = autorest.NewErrorWithError(err, "artifacts.WorkspaceClient", "Get", nil, "Failure preparing request")
42 return
43 }
44
45 resp, err := client.GetSender(req)
46 if err != nil {
47 result.Response = autorest.Response{Response: resp}
48 err = autorest.NewErrorWithError(err, "artifacts.WorkspaceClient", "Get", resp, "Failure sending request")
49 return
50 }
51
52 result, err = client.GetResponder(resp)
53 if err != nil {
54 err = autorest.NewErrorWithError(err, "artifacts.WorkspaceClient", "Get", resp, "Failure responding to request")
55 return
56 }
57
58 return
59 }
60
61
62 func (client WorkspaceClient) GetPreparer(ctx context.Context) (*http.Request, error) {
63 urlParameters := map[string]interface{}{
64 "endpoint": client.Endpoint,
65 }
66
67 const APIVersion = "2019-06-01-preview"
68 queryParameters := map[string]interface{}{
69 "api-version": APIVersion,
70 }
71
72 preparer := autorest.CreatePreparer(
73 autorest.AsGet(),
74 autorest.WithCustomBaseURL("{endpoint}", urlParameters),
75 autorest.WithPath("/workspace"),
76 autorest.WithQueryParameters(queryParameters))
77 return preparer.Prepare((&http.Request{}).WithContext(ctx))
78 }
79
80
81
82 func (client WorkspaceClient) GetSender(req *http.Request) (*http.Response, error) {
83 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
84 }
85
86
87
88 func (client WorkspaceClient) GetResponder(resp *http.Response) (result Workspace, err error) {
89 err = autorest.Respond(
90 resp,
91 azure.WithErrorUnlessStatusCode(http.StatusOK),
92 autorest.ByUnmarshallingJSON(&result),
93 autorest.ByClosing())
94 result.Response = autorest.Response{Response: resp}
95 return
96 }
97
View as plain text