1package artifacts 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// WorkspaceClient is the client for the Workspace methods of the Artifacts service. 18type WorkspaceClient struct { 19 BaseClient 20} 21 22// NewWorkspaceClient creates an instance of the WorkspaceClient client. 23func NewWorkspaceClient(endpoint string) WorkspaceClient { 24 return WorkspaceClient{New(endpoint)} 25} 26 27// Get get Workspace 28func (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// GetPreparer prepares the Get request. 62func (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// GetSender sends the Get request. The method will close the 81// http.Response Body if it receives an error. 82func (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// GetResponder handles the response to the Get request. The method always 87// closes the http.Response Body. 88func (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