github.com/muxinc/mux-go@v1.1.1/api_real_time.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 RealTimeApiService service
    14  
    15  type GetRealtimeBreakdownParams struct {
    16  	Dimension      string
    17  	Timestamp      float64
    18  	Filters        []string
    19  	OrderBy        string
    20  	OrderDirection string
    21  }
    22  
    23  // GetRealtimeBreakdown optionally accepts the APIOption of WithParams(*GetRealtimeBreakdownParams).
    24  func (a *RealTimeApiService) GetRealtimeBreakdown(rEALTIMEMETRICID string, opts ...APIOption) (GetRealTimeBreakdownResponse, error) {
    25  	var (
    26  		localVarAPIOptions   = new(APIOptions)
    27  		localVarHttpMethod   = strings.ToUpper("Get")
    28  		localVarPostBody     interface{}
    29  		localVarFormFileName string
    30  		localVarFileName     string
    31  		localVarFileBytes    []byte
    32  		localVarReturnValue  GetRealTimeBreakdownResponse
    33  	)
    34  
    35  	for _, opt := range opts {
    36  		opt(localVarAPIOptions)
    37  	}
    38  
    39  	localVarOptionals, ok := localVarAPIOptions.params.(*GetRealtimeBreakdownParams)
    40  	if localVarAPIOptions.params != nil && !ok {
    41  		return localVarReturnValue, reportError("provided params were not of type *GetRealtimeBreakdownParams")
    42  	}
    43  
    44  	// create path and map variables
    45  	localVarPath := a.client.cfg.basePath + "/data/v1/realtime/metrics/{REALTIME_METRIC_ID}/breakdown"
    46  	localVarPath = strings.Replace(localVarPath, "{"+"REALTIME_METRIC_ID"+"}", fmt.Sprintf("%v", rEALTIMEMETRICID), -1)
    47  
    48  	localVarHeaderParams := make(map[string]string)
    49  	localVarQueryParams := url.Values{}
    50  	localVarFormParams := url.Values{}
    51  
    52  	if localVarOptionals != nil && isSet(localVarOptionals.Dimension) {
    53  		localVarQueryParams.Add("dimension", parameterToString(localVarOptionals.Dimension, ""))
    54  	}
    55  	if localVarOptionals != nil && isSet(localVarOptionals.Timestamp) {
    56  		localVarQueryParams.Add("timestamp", parameterToString(localVarOptionals.Timestamp, ""))
    57  	}
    58  	if localVarOptionals != nil && isSet(localVarOptionals.Filters) {
    59  		// This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types.
    60  		// The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now.
    61  		for _, v := range localVarOptionals.Filters {
    62  			localVarQueryParams.Add("filters[]", v)
    63  		}
    64  	}
    65  	if localVarOptionals != nil && isSet(localVarOptionals.OrderBy) {
    66  		localVarQueryParams.Add("order_by", parameterToString(localVarOptionals.OrderBy, ""))
    67  	}
    68  	if localVarOptionals != nil && isSet(localVarOptionals.OrderDirection) {
    69  		localVarQueryParams.Add("order_direction", parameterToString(localVarOptionals.OrderDirection, ""))
    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  type GetRealtimeHistogramTimeseriesParams struct {
   124  	Filters []string
   125  }
   126  
   127  // GetRealtimeHistogramTimeseries optionally accepts the APIOption of WithParams(*GetRealtimeHistogramTimeseriesParams).
   128  func (a *RealTimeApiService) GetRealtimeHistogramTimeseries(rEALTIMEHISTOGRAMMETRICID string, opts ...APIOption) (GetRealTimeHistogramTimeseriesResponse, error) {
   129  	var (
   130  		localVarAPIOptions   = new(APIOptions)
   131  		localVarHttpMethod   = strings.ToUpper("Get")
   132  		localVarPostBody     interface{}
   133  		localVarFormFileName string
   134  		localVarFileName     string
   135  		localVarFileBytes    []byte
   136  		localVarReturnValue  GetRealTimeHistogramTimeseriesResponse
   137  	)
   138  
   139  	for _, opt := range opts {
   140  		opt(localVarAPIOptions)
   141  	}
   142  
   143  	localVarOptionals, ok := localVarAPIOptions.params.(*GetRealtimeHistogramTimeseriesParams)
   144  	if localVarAPIOptions.params != nil && !ok {
   145  		return localVarReturnValue, reportError("provided params were not of type *GetRealtimeHistogramTimeseriesParams")
   146  	}
   147  
   148  	// create path and map variables
   149  	localVarPath := a.client.cfg.basePath + "/data/v1/realtime/metrics/{REALTIME_HISTOGRAM_METRIC_ID}/histogram-timeseries"
   150  	localVarPath = strings.Replace(localVarPath, "{"+"REALTIME_HISTOGRAM_METRIC_ID"+"}", fmt.Sprintf("%v", rEALTIMEHISTOGRAMMETRICID), -1)
   151  
   152  	localVarHeaderParams := make(map[string]string)
   153  	localVarQueryParams := url.Values{}
   154  	localVarFormParams := url.Values{}
   155  
   156  	if localVarOptionals != nil && isSet(localVarOptionals.Filters) {
   157  		// This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types.
   158  		// The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now.
   159  		for _, v := range localVarOptionals.Filters {
   160  			localVarQueryParams.Add("filters[]", v)
   161  		}
   162  	}
   163  	// to determine the Content-Type header
   164  	localVarHttpContentTypes := []string{}
   165  
   166  	// set Content-Type header
   167  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   168  	if localVarHttpContentType != "" {
   169  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   170  	}
   171  
   172  	// to determine the Accept header
   173  	localVarHttpHeaderAccepts := []string{"application/json"}
   174  
   175  	// set Accept header
   176  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   177  	if localVarHttpHeaderAccept != "" {
   178  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   179  	}
   180  
   181  	r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   182  	if err != nil {
   183  		return localVarReturnValue, err
   184  	}
   185  
   186  	localVarHttpResponse, err := a.client.callAPI(r)
   187  	if err != nil || localVarHttpResponse == nil {
   188  		return localVarReturnValue, err
   189  	}
   190  
   191  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   192  	localVarHttpResponse.Body.Close()
   193  	if err != nil {
   194  		return localVarReturnValue, err
   195  	}
   196  
   197  	// Check for common HTTP error status codes
   198  	err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody)
   199  	if err != nil {
   200  		return localVarReturnValue, err
   201  	}
   202  
   203  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   204  	if err != nil {
   205  		newErr := GenericOpenAPIError{
   206  			body:  localVarBody,
   207  			error: err.Error(),
   208  		}
   209  		return localVarReturnValue, newErr
   210  	}
   211  
   212  	return localVarReturnValue, nil
   213  }
   214  
   215  type GetRealtimeTimeseriesParams struct {
   216  	Filters []string
   217  }
   218  
   219  // GetRealtimeTimeseries optionally accepts the APIOption of WithParams(*GetRealtimeTimeseriesParams).
   220  func (a *RealTimeApiService) GetRealtimeTimeseries(rEALTIMEMETRICID string, opts ...APIOption) (GetRealTimeTimeseriesResponse, error) {
   221  	var (
   222  		localVarAPIOptions   = new(APIOptions)
   223  		localVarHttpMethod   = strings.ToUpper("Get")
   224  		localVarPostBody     interface{}
   225  		localVarFormFileName string
   226  		localVarFileName     string
   227  		localVarFileBytes    []byte
   228  		localVarReturnValue  GetRealTimeTimeseriesResponse
   229  	)
   230  
   231  	for _, opt := range opts {
   232  		opt(localVarAPIOptions)
   233  	}
   234  
   235  	localVarOptionals, ok := localVarAPIOptions.params.(*GetRealtimeTimeseriesParams)
   236  	if localVarAPIOptions.params != nil && !ok {
   237  		return localVarReturnValue, reportError("provided params were not of type *GetRealtimeTimeseriesParams")
   238  	}
   239  
   240  	// create path and map variables
   241  	localVarPath := a.client.cfg.basePath + "/data/v1/realtime/metrics/{REALTIME_METRIC_ID}/timeseries"
   242  	localVarPath = strings.Replace(localVarPath, "{"+"REALTIME_METRIC_ID"+"}", fmt.Sprintf("%v", rEALTIMEMETRICID), -1)
   243  
   244  	localVarHeaderParams := make(map[string]string)
   245  	localVarQueryParams := url.Values{}
   246  	localVarFormParams := url.Values{}
   247  
   248  	if localVarOptionals != nil && isSet(localVarOptionals.Filters) {
   249  		// This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types.
   250  		// The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now.
   251  		for _, v := range localVarOptionals.Filters {
   252  			localVarQueryParams.Add("filters[]", v)
   253  		}
   254  	}
   255  	// to determine the Content-Type header
   256  	localVarHttpContentTypes := []string{}
   257  
   258  	// set Content-Type header
   259  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   260  	if localVarHttpContentType != "" {
   261  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   262  	}
   263  
   264  	// to determine the Accept header
   265  	localVarHttpHeaderAccepts := []string{"application/json"}
   266  
   267  	// set Accept header
   268  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   269  	if localVarHttpHeaderAccept != "" {
   270  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   271  	}
   272  
   273  	r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   274  	if err != nil {
   275  		return localVarReturnValue, err
   276  	}
   277  
   278  	localVarHttpResponse, err := a.client.callAPI(r)
   279  	if err != nil || localVarHttpResponse == nil {
   280  		return localVarReturnValue, err
   281  	}
   282  
   283  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   284  	localVarHttpResponse.Body.Close()
   285  	if err != nil {
   286  		return localVarReturnValue, err
   287  	}
   288  
   289  	// Check for common HTTP error status codes
   290  	err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody)
   291  	if err != nil {
   292  		return localVarReturnValue, err
   293  	}
   294  
   295  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   296  	if err != nil {
   297  		newErr := GenericOpenAPIError{
   298  			body:  localVarBody,
   299  			error: err.Error(),
   300  		}
   301  		return localVarReturnValue, newErr
   302  	}
   303  
   304  	return localVarReturnValue, nil
   305  }
   306  
   307  func (a *RealTimeApiService) ListRealtimeDimensions(opts ...APIOption) (ListRealTimeDimensionsResponse, error) {
   308  	var (
   309  		localVarAPIOptions   = new(APIOptions)
   310  		localVarHttpMethod   = strings.ToUpper("Get")
   311  		localVarPostBody     interface{}
   312  		localVarFormFileName string
   313  		localVarFileName     string
   314  		localVarFileBytes    []byte
   315  		localVarReturnValue  ListRealTimeDimensionsResponse
   316  	)
   317  
   318  	for _, opt := range opts {
   319  		opt(localVarAPIOptions)
   320  	}
   321  
   322  	// create path and map variables
   323  	localVarPath := a.client.cfg.basePath + "/data/v1/realtime/dimensions"
   324  
   325  	localVarHeaderParams := make(map[string]string)
   326  	localVarQueryParams := url.Values{}
   327  	localVarFormParams := url.Values{}
   328  
   329  	// to determine the Content-Type header
   330  	localVarHttpContentTypes := []string{}
   331  
   332  	// set Content-Type header
   333  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   334  	if localVarHttpContentType != "" {
   335  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   336  	}
   337  
   338  	// to determine the Accept header
   339  	localVarHttpHeaderAccepts := []string{"application/json"}
   340  
   341  	// set Accept header
   342  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   343  	if localVarHttpHeaderAccept != "" {
   344  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   345  	}
   346  
   347  	r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   348  	if err != nil {
   349  		return localVarReturnValue, err
   350  	}
   351  
   352  	localVarHttpResponse, err := a.client.callAPI(r)
   353  	if err != nil || localVarHttpResponse == nil {
   354  		return localVarReturnValue, err
   355  	}
   356  
   357  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   358  	localVarHttpResponse.Body.Close()
   359  	if err != nil {
   360  		return localVarReturnValue, err
   361  	}
   362  
   363  	// Check for common HTTP error status codes
   364  	err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody)
   365  	if err != nil {
   366  		return localVarReturnValue, err
   367  	}
   368  
   369  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   370  	if err != nil {
   371  		newErr := GenericOpenAPIError{
   372  			body:  localVarBody,
   373  			error: err.Error(),
   374  		}
   375  		return localVarReturnValue, newErr
   376  	}
   377  
   378  	return localVarReturnValue, nil
   379  }
   380  
   381  func (a *RealTimeApiService) ListRealtimeMetrics(opts ...APIOption) (ListRealTimeMetricsResponse, error) {
   382  	var (
   383  		localVarAPIOptions   = new(APIOptions)
   384  		localVarHttpMethod   = strings.ToUpper("Get")
   385  		localVarPostBody     interface{}
   386  		localVarFormFileName string
   387  		localVarFileName     string
   388  		localVarFileBytes    []byte
   389  		localVarReturnValue  ListRealTimeMetricsResponse
   390  	)
   391  
   392  	for _, opt := range opts {
   393  		opt(localVarAPIOptions)
   394  	}
   395  
   396  	// create path and map variables
   397  	localVarPath := a.client.cfg.basePath + "/data/v1/realtime/metrics"
   398  
   399  	localVarHeaderParams := make(map[string]string)
   400  	localVarQueryParams := url.Values{}
   401  	localVarFormParams := url.Values{}
   402  
   403  	// to determine the Content-Type header
   404  	localVarHttpContentTypes := []string{}
   405  
   406  	// set Content-Type header
   407  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   408  	if localVarHttpContentType != "" {
   409  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   410  	}
   411  
   412  	// to determine the Accept header
   413  	localVarHttpHeaderAccepts := []string{"application/json"}
   414  
   415  	// set Accept header
   416  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   417  	if localVarHttpHeaderAccept != "" {
   418  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   419  	}
   420  
   421  	r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   422  	if err != nil {
   423  		return localVarReturnValue, err
   424  	}
   425  
   426  	localVarHttpResponse, err := a.client.callAPI(r)
   427  	if err != nil || localVarHttpResponse == nil {
   428  		return localVarReturnValue, err
   429  	}
   430  
   431  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   432  	localVarHttpResponse.Body.Close()
   433  	if err != nil {
   434  		return localVarReturnValue, err
   435  	}
   436  
   437  	// Check for common HTTP error status codes
   438  	err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody)
   439  	if err != nil {
   440  		return localVarReturnValue, err
   441  	}
   442  
   443  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   444  	if err != nil {
   445  		newErr := GenericOpenAPIError{
   446  			body:  localVarBody,
   447  			error: err.Error(),
   448  		}
   449  		return localVarReturnValue, newErr
   450  	}
   451  
   452  	return localVarReturnValue, nil
   453  }