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