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/autorest/validation"
14 "github.com/Azure/go-autorest/tracing"
15 "net/http"
16 )
17
18
19 type WorkspaceGitRepoManagementClient struct {
20 BaseClient
21 }
22
23
24 func NewWorkspaceGitRepoManagementClient(endpoint string) WorkspaceGitRepoManagementClient {
25 return WorkspaceGitRepoManagementClient{New(endpoint)}
26 }
27
28
29
30
31 func (client WorkspaceGitRepoManagementClient) GetGitHubAccessToken(ctx context.Context, APIVersion string, gitHubAccessTokenRequest GitHubAccessTokenRequest, clientRequestID string) (result GitHubAccessTokenResponse, err error) {
32 if tracing.IsEnabled() {
33 ctx = tracing.StartSpan(ctx, fqdn+"/WorkspaceGitRepoManagementClient.GetGitHubAccessToken")
34 defer func() {
35 sc := -1
36 if result.Response.Response != nil {
37 sc = result.Response.Response.StatusCode
38 }
39 tracing.EndSpan(ctx, sc, err)
40 }()
41 }
42 if err := validation.Validate([]validation.Validation{
43 {TargetValue: gitHubAccessTokenRequest,
44 Constraints: []validation.Constraint{{Target: "gitHubAccessTokenRequest.GitHubClientID", Name: validation.Null, Rule: true, Chain: nil},
45 {Target: "gitHubAccessTokenRequest.GitHubAccessCode", Name: validation.Null, Rule: true, Chain: nil},
46 {Target: "gitHubAccessTokenRequest.GitHubAccessTokenBaseURL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
47 return result, validation.NewError("artifacts.WorkspaceGitRepoManagementClient", "GetGitHubAccessToken", err.Error())
48 }
49
50 req, err := client.GetGitHubAccessTokenPreparer(ctx, APIVersion, gitHubAccessTokenRequest, clientRequestID)
51 if err != nil {
52 err = autorest.NewErrorWithError(err, "artifacts.WorkspaceGitRepoManagementClient", "GetGitHubAccessToken", nil, "Failure preparing request")
53 return
54 }
55
56 resp, err := client.GetGitHubAccessTokenSender(req)
57 if err != nil {
58 result.Response = autorest.Response{Response: resp}
59 err = autorest.NewErrorWithError(err, "artifacts.WorkspaceGitRepoManagementClient", "GetGitHubAccessToken", resp, "Failure sending request")
60 return
61 }
62
63 result, err = client.GetGitHubAccessTokenResponder(resp)
64 if err != nil {
65 err = autorest.NewErrorWithError(err, "artifacts.WorkspaceGitRepoManagementClient", "GetGitHubAccessToken", resp, "Failure responding to request")
66 return
67 }
68
69 return
70 }
71
72
73 func (client WorkspaceGitRepoManagementClient) GetGitHubAccessTokenPreparer(ctx context.Context, APIVersion string, gitHubAccessTokenRequest GitHubAccessTokenRequest, clientRequestID string) (*http.Request, error) {
74 urlParameters := map[string]interface{}{
75 "endpoint": client.Endpoint,
76 }
77
78 queryParameters := map[string]interface{}{
79 "api-version": APIVersion,
80 }
81
82 preparer := autorest.CreatePreparer(
83 autorest.AsContentType("application/json; charset=utf-8"),
84 autorest.AsPost(),
85 autorest.WithCustomBaseURL("{endpoint}", urlParameters),
86 autorest.WithPath("/getGitHubAccessToken"),
87 autorest.WithJSON(gitHubAccessTokenRequest),
88 autorest.WithQueryParameters(queryParameters))
89 if len(clientRequestID) > 0 {
90 preparer = autorest.DecoratePreparer(preparer,
91 autorest.WithHeader("x-ms-client-request-id", autorest.String(clientRequestID)))
92 }
93 return preparer.Prepare((&http.Request{}).WithContext(ctx))
94 }
95
96
97
98 func (client WorkspaceGitRepoManagementClient) GetGitHubAccessTokenSender(req *http.Request) (*http.Response, error) {
99 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
100 }
101
102
103
104 func (client WorkspaceGitRepoManagementClient) GetGitHubAccessTokenResponder(resp *http.Response) (result GitHubAccessTokenResponse, err error) {
105 err = autorest.Respond(
106 resp,
107 azure.WithErrorUnlessStatusCode(http.StatusOK),
108 autorest.ByUnmarshallingJSON(&result),
109 autorest.ByClosing())
110 result.Response = autorest.Response{Response: resp}
111 return
112 }
113
View as plain text