github.com/launchdarkly/api-client-go@v5.3.0+incompatible/api_root.go (about) 1 2 /* 3 * LaunchDarkly REST API 4 * 5 * Build custom integrations with the LaunchDarkly REST API 6 * 7 * API version: 5.3.0 8 * Contact: support@launchdarkly.com 9 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 10 */ 11 12 package ldapi 13 14 import ( 15 "context" 16 "io/ioutil" 17 "net/http" 18 "net/url" 19 "strings" 20 ) 21 22 // Linger please 23 var ( 24 _ context.Context 25 ) 26 27 type RootApiService service 28 29 /* 30 RootApiService 31 You can issue a GET request to the root resource to find all of the resource categories supported by the API. 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 34 @return Links 35 */ 36 func (a *RootApiService) GetRoot(ctx context.Context) (Links, *http.Response, error) { 37 var ( 38 localVarHttpMethod = strings.ToUpper("Get") 39 localVarPostBody interface{} 40 localVarFileName string 41 localVarFileBytes []byte 42 localVarReturnValue Links 43 ) 44 45 // create path and map variables 46 localVarPath := a.client.cfg.BasePath + "/" 47 48 localVarHeaderParams := make(map[string]string) 49 localVarQueryParams := url.Values{} 50 localVarFormParams := url.Values{} 51 52 // to determine the Content-Type header 53 localVarHttpContentTypes := []string{"application/json"} 54 55 // set Content-Type header 56 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 57 if localVarHttpContentType != "" { 58 localVarHeaderParams["Content-Type"] = localVarHttpContentType 59 } 60 61 // to determine the Accept header 62 localVarHttpHeaderAccepts := []string{"application/json"} 63 64 // set Accept header 65 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 66 if localVarHttpHeaderAccept != "" { 67 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 68 } 69 if ctx != nil { 70 // API Key Authentication 71 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 72 var key string 73 if auth.Prefix != "" { 74 key = auth.Prefix + " " + auth.Key 75 } else { 76 key = auth.Key 77 } 78 localVarHeaderParams["Authorization"] = key 79 80 } 81 } 82 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 83 if err != nil { 84 return localVarReturnValue, nil, err 85 } 86 87 localVarHttpResponse, err := a.client.callAPI(r) 88 if err != nil || localVarHttpResponse == nil { 89 return localVarReturnValue, localVarHttpResponse, err 90 } 91 92 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 93 localVarHttpResponse.Body.Close() 94 if err != nil { 95 return localVarReturnValue, localVarHttpResponse, err 96 } 97 98 if localVarHttpResponse.StatusCode < 300 { 99 // If we succeed, return the data, otherwise pass on to decode error. 100 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 101 return localVarReturnValue, localVarHttpResponse, err 102 } 103 104 if localVarHttpResponse.StatusCode >= 300 { 105 newErr := GenericSwaggerError{ 106 body: localVarBody, 107 error: localVarHttpResponse.Status, 108 } 109 110 if localVarHttpResponse.StatusCode == 200 { 111 var v Links 112 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 113 if err != nil { 114 newErr.error = err.Error() 115 return localVarReturnValue, localVarHttpResponse, newErr 116 } 117 newErr.model = v 118 return localVarReturnValue, localVarHttpResponse, newErr 119 } 120 121 return localVarReturnValue, localVarHttpResponse, newErr 122 } 123 124 return localVarReturnValue, localVarHttpResponse, nil 125 } 126