github.com/grokify/go-ringcentral-client@v0.3.31/engagevoice/v1/client/api_countries.go (about) 1 /* 2 * RingCentral Engage Voice API 3 * 4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 5 * 6 * API version: 1.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package engagevoice 11 12 import ( 13 "context" 14 "fmt" 15 "io/ioutil" 16 "net/http" 17 "net/url" 18 "strings" 19 ) 20 21 // Linger please 22 var ( 23 _ context.Context 24 ) 25 26 type CountriesApiService service 27 28 /* 29 CountriesApiService Get Available Countries 30 Get a list of available countries 31 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 32 * @param accountId 33 @return []Country 34 */ 35 func (a *CountriesApiService) GetAvailableCountries(ctx context.Context, accountId string) ([]Country, *http.Response, error) { 36 var ( 37 localVarHttpMethod = http.MethodGet 38 localVarPostBody interface{} 39 localVarFormFileName string 40 localVarFileName string 41 localVarFileBytes []byte 42 localVarReturnValue []Country 43 ) 44 45 // create path and map variables 46 localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/countries/available" 47 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 48 49 localVarHeaderParams := make(map[string]string) 50 localVarQueryParams := url.Values{} 51 localVarFormParams := url.Values{} 52 53 // to determine the Content-Type header 54 localVarHttpContentTypes := []string{} 55 56 // set Content-Type header 57 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 58 if localVarHttpContentType != "" { 59 localVarHeaderParams["Content-Type"] = localVarHttpContentType 60 } 61 62 // to determine the Accept header 63 localVarHttpHeaderAccepts := []string{"application/json"} 64 65 // set Accept header 66 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 67 if localVarHttpHeaderAccept != "" { 68 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 69 } 70 if ctx != nil { 71 // API Key Authentication 72 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 73 var key string 74 if auth.Prefix != "" { 75 key = auth.Prefix + " " + auth.Key 76 } else { 77 key = auth.Key 78 } 79 localVarHeaderParams["X-Auth-Token"] = key 80 } 81 } 82 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, 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 newErr := GenericOpenAPIError{ 100 body: localVarBody, 101 error: localVarHttpResponse.Status, 102 } 103 if localVarHttpResponse.StatusCode == 200 { 104 var v []Country 105 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 106 if err != nil { 107 newErr.error = err.Error() 108 return localVarReturnValue, localVarHttpResponse, newErr 109 } 110 newErr.model = v 111 return localVarReturnValue, localVarHttpResponse, newErr 112 } 113 return localVarReturnValue, localVarHttpResponse, newErr 114 } 115 116 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 117 if err != nil { 118 newErr := GenericOpenAPIError{ 119 body: localVarBody, 120 error: err.Error(), 121 } 122 return localVarReturnValue, localVarHttpResponse, newErr 123 } 124 125 return localVarReturnValue, localVarHttpResponse, nil 126 }