github.com/muxinc/mux-go@v1.1.1/api_errors.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 "io/ioutil" 8 "net/url" 9 "strings" 10 ) 11 12 type ErrorsApiService service 13 14 type ListErrorsParams struct { 15 Filters []string 16 Timeframe []string 17 } 18 19 // ListErrors optionally accepts the APIOption of WithParams(*ListErrorsParams). 20 func (a *ErrorsApiService) ListErrors(opts ...APIOption) (ListErrorsResponse, error) { 21 var ( 22 localVarAPIOptions = new(APIOptions) 23 localVarHttpMethod = strings.ToUpper("Get") 24 localVarPostBody interface{} 25 localVarFormFileName string 26 localVarFileName string 27 localVarFileBytes []byte 28 localVarReturnValue ListErrorsResponse 29 ) 30 31 for _, opt := range opts { 32 opt(localVarAPIOptions) 33 } 34 35 localVarOptionals, ok := localVarAPIOptions.params.(*ListErrorsParams) 36 if localVarAPIOptions.params != nil && !ok { 37 return localVarReturnValue, reportError("provided params were not of type *ListErrorsParams") 38 } 39 40 // create path and map variables 41 localVarPath := a.client.cfg.basePath + "/data/v1/errors" 42 43 localVarHeaderParams := make(map[string]string) 44 localVarQueryParams := url.Values{} 45 localVarFormParams := url.Values{} 46 47 if localVarOptionals != nil && isSet(localVarOptionals.Filters) { 48 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 49 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 50 for _, v := range localVarOptionals.Filters { 51 localVarQueryParams.Add("filters[]", v) 52 } 53 } 54 if localVarOptionals != nil && isSet(localVarOptionals.Timeframe) { 55 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 56 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 57 for _, v := range localVarOptionals.Timeframe { 58 localVarQueryParams.Add("timeframe[]", v) 59 } 60 } 61 // to determine the Content-Type header 62 localVarHttpContentTypes := []string{} 63 64 // set Content-Type header 65 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 66 if localVarHttpContentType != "" { 67 localVarHeaderParams["Content-Type"] = localVarHttpContentType 68 } 69 70 // to determine the Accept header 71 localVarHttpHeaderAccepts := []string{"application/json"} 72 73 // set Accept header 74 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 75 if localVarHttpHeaderAccept != "" { 76 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 77 } 78 79 r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 80 if err != nil { 81 return localVarReturnValue, err 82 } 83 84 localVarHttpResponse, err := a.client.callAPI(r) 85 if err != nil || localVarHttpResponse == nil { 86 return localVarReturnValue, err 87 } 88 89 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 90 localVarHttpResponse.Body.Close() 91 if err != nil { 92 return localVarReturnValue, err 93 } 94 95 // Check for common HTTP error status codes 96 err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody) 97 if err != nil { 98 return localVarReturnValue, err 99 } 100 101 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 102 if err != nil { 103 newErr := GenericOpenAPIError{ 104 body: localVarBody, 105 error: err.Error(), 106 } 107 return localVarReturnValue, newErr 108 } 109 110 return localVarReturnValue, nil 111 }