github.com/muxinc/mux-go@v1.1.1/api_dimensions.go (about) 1 // Mux Go - Copyright 2019 Mux Inc. 2 // NOTE: This file is auto generated. Do not edit this file manually. 3 4 package muxgo 5 6 import ( 7 "fmt" 8 "io/ioutil" 9 "net/url" 10 "strings" 11 ) 12 13 type DimensionsApiService service 14 15 type ListDimensionValuesParams struct { 16 Limit int32 17 Page int32 18 Filters []string 19 Timeframe []string 20 } 21 22 // ListDimensionValues optionally accepts the APIOption of WithParams(*ListDimensionValuesParams). 23 func (a *DimensionsApiService) ListDimensionValues(dIMENSIONID string, opts ...APIOption) (ListDimensionValuesResponse, error) { 24 var ( 25 localVarAPIOptions = new(APIOptions) 26 localVarHttpMethod = strings.ToUpper("Get") 27 localVarPostBody interface{} 28 localVarFormFileName string 29 localVarFileName string 30 localVarFileBytes []byte 31 localVarReturnValue ListDimensionValuesResponse 32 ) 33 34 for _, opt := range opts { 35 opt(localVarAPIOptions) 36 } 37 38 localVarOptionals, ok := localVarAPIOptions.params.(*ListDimensionValuesParams) 39 if localVarAPIOptions.params != nil && !ok { 40 return localVarReturnValue, reportError("provided params were not of type *ListDimensionValuesParams") 41 } 42 43 // create path and map variables 44 localVarPath := a.client.cfg.basePath + "/data/v1/dimensions/{DIMENSION_ID}" 45 localVarPath = strings.Replace(localVarPath, "{"+"DIMENSION_ID"+"}", fmt.Sprintf("%v", dIMENSIONID), -1) 46 47 localVarHeaderParams := make(map[string]string) 48 localVarQueryParams := url.Values{} 49 localVarFormParams := url.Values{} 50 51 if localVarOptionals != nil && isSet(localVarOptionals.Limit) { 52 localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit, "")) 53 } 54 if localVarOptionals != nil && isSet(localVarOptionals.Page) { 55 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page, "")) 56 } 57 if localVarOptionals != nil && isSet(localVarOptionals.Filters) { 58 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 59 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 60 for _, v := range localVarOptionals.Filters { 61 localVarQueryParams.Add("filters[]", v) 62 } 63 } 64 if localVarOptionals != nil && isSet(localVarOptionals.Timeframe) { 65 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 66 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 67 for _, v := range localVarOptionals.Timeframe { 68 localVarQueryParams.Add("timeframe[]", v) 69 } 70 } 71 // to determine the Content-Type header 72 localVarHttpContentTypes := []string{} 73 74 // set Content-Type header 75 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 76 if localVarHttpContentType != "" { 77 localVarHeaderParams["Content-Type"] = localVarHttpContentType 78 } 79 80 // to determine the Accept header 81 localVarHttpHeaderAccepts := []string{"application/json"} 82 83 // set Accept header 84 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 85 if localVarHttpHeaderAccept != "" { 86 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 87 } 88 89 r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 90 if err != nil { 91 return localVarReturnValue, err 92 } 93 94 localVarHttpResponse, err := a.client.callAPI(r) 95 if err != nil || localVarHttpResponse == nil { 96 return localVarReturnValue, err 97 } 98 99 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 100 localVarHttpResponse.Body.Close() 101 if err != nil { 102 return localVarReturnValue, err 103 } 104 105 // Check for common HTTP error status codes 106 err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody) 107 if err != nil { 108 return localVarReturnValue, err 109 } 110 111 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 112 if err != nil { 113 newErr := GenericOpenAPIError{ 114 body: localVarBody, 115 error: err.Error(), 116 } 117 return localVarReturnValue, newErr 118 } 119 120 return localVarReturnValue, nil 121 } 122 123 func (a *DimensionsApiService) ListDimensions(opts ...APIOption) (ListDimensionsResponse, error) { 124 var ( 125 localVarAPIOptions = new(APIOptions) 126 localVarHttpMethod = strings.ToUpper("Get") 127 localVarPostBody interface{} 128 localVarFormFileName string 129 localVarFileName string 130 localVarFileBytes []byte 131 localVarReturnValue ListDimensionsResponse 132 ) 133 134 for _, opt := range opts { 135 opt(localVarAPIOptions) 136 } 137 138 // create path and map variables 139 localVarPath := a.client.cfg.basePath + "/data/v1/dimensions" 140 141 localVarHeaderParams := make(map[string]string) 142 localVarQueryParams := url.Values{} 143 localVarFormParams := url.Values{} 144 145 // to determine the Content-Type header 146 localVarHttpContentTypes := []string{} 147 148 // set Content-Type header 149 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 150 if localVarHttpContentType != "" { 151 localVarHeaderParams["Content-Type"] = localVarHttpContentType 152 } 153 154 // to determine the Accept header 155 localVarHttpHeaderAccepts := []string{"application/json"} 156 157 // set Accept header 158 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 159 if localVarHttpHeaderAccept != "" { 160 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 161 } 162 163 r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 164 if err != nil { 165 return localVarReturnValue, err 166 } 167 168 localVarHttpResponse, err := a.client.callAPI(r) 169 if err != nil || localVarHttpResponse == nil { 170 return localVarReturnValue, err 171 } 172 173 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 174 localVarHttpResponse.Body.Close() 175 if err != nil { 176 return localVarReturnValue, err 177 } 178 179 // Check for common HTTP error status codes 180 err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody) 181 if err != nil { 182 return localVarReturnValue, err 183 } 184 185 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 186 if err != nil { 187 newErr := GenericOpenAPIError{ 188 body: localVarBody, 189 error: err.Error(), 190 } 191 return localVarReturnValue, newErr 192 } 193 194 return localVarReturnValue, nil 195 }