github.com/free5gc/openapi@v1.0.8/Nnef_PFDmanagement/api_individual_application_pfd.go (about)

     1  /*
     2   * Nnef_PFDmanagement Sevice API
     3   *
     4   * Packet Flow Description Management Service
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Nnef_PFDmanagement
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"strings"
    19  
    20  	"github.com/antihax/optional"
    21  
    22  	"github.com/free5gc/openapi"
    23  	"github.com/free5gc/openapi/models"
    24  )
    25  
    26  // Linger please
    27  var (
    28  	_ context.Context
    29  )
    30  
    31  type IndividualApplicationPFDApiService service
    32  
    33  /*
    34  IndividualApplicationPFDApiService Retrieve the PFD for an application.
    35   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    36   * @param appId The required application identifier(s) for the returned PFDs.
    37   * @param optional nil or *NnefPFDmanagementFetchParamOpts - Optional Parameters:
    38   * @param "SupportedFeatures" (optional.String) -  To filter irrelevant responses related to unsupported features
    39  @return models.PfdDataForApp
    40  */
    41  
    42  type NnefPFDmanagementFetchParamOpts struct {
    43  	SupportedFeatures optional.String
    44  }
    45  
    46  func (a *IndividualApplicationPFDApiService) NnefPFDmanagementFetch(ctx context.Context, appId string, localVarOptionals *NnefPFDmanagementFetchParamOpts) (models.PfdDataForApp, *http.Response, error) {
    47  	var (
    48  		localVarHTTPMethod   = strings.ToUpper("Get")
    49  		localVarPostBody     interface{}
    50  		localVarFormFileName string
    51  		localVarFileName     string
    52  		localVarFileBytes    []byte
    53  		localVarReturnValue  models.PfdDataForApp
    54  	)
    55  
    56  	// create path and map variables
    57  	localVarPath := a.client.cfg.BasePath() + "/applications/{appId}"
    58  	localVarPath = strings.Replace(localVarPath, "{"+"appId"+"}", fmt.Sprintf("%v", appId), -1)
    59  
    60  	localVarHeaderParams := make(map[string]string)
    61  	localVarQueryParams := url.Values{}
    62  	localVarFormParams := url.Values{}
    63  
    64  	if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" {
    65  		localVarQueryParams.Add("supported-features", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), ""))
    66  	}
    67  
    68  	localVarHTTPContentTypes := []string{"application/json"}
    69  
    70  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    71  
    72  	// to determine the Accept header
    73  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    74  
    75  	// set Accept header
    76  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    77  	if localVarHTTPHeaderAccept != "" {
    78  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    79  	}
    80  
    81  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    82  	if err != nil {
    83  		return localVarReturnValue, nil, err
    84  	}
    85  
    86  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    87  	if err != nil || localVarHTTPResponse == nil {
    88  		return localVarReturnValue, localVarHTTPResponse, err
    89  	}
    90  
    91  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
    92  	localVarHTTPResponse.Body.Close()
    93  	if err != nil {
    94  		return localVarReturnValue, localVarHTTPResponse, err
    95  	}
    96  
    97  	apiError := openapi.GenericOpenAPIError{
    98  		RawBody:     localVarBody,
    99  		ErrorStatus: localVarHTTPResponse.Status,
   100  	}
   101  
   102  	switch localVarHTTPResponse.StatusCode {
   103  	case 200:
   104  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   105  		if err != nil {
   106  			apiError.ErrorStatus = err.Error()
   107  		}
   108  		return localVarReturnValue, localVarHTTPResponse, nil
   109  	case 400:
   110  		var v models.ProblemDetails
   111  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   112  		if err != nil {
   113  			apiError.ErrorStatus = err.Error()
   114  			return localVarReturnValue, localVarHTTPResponse, apiError
   115  		}
   116  		apiError.ErrorModel = v
   117  		return localVarReturnValue, localVarHTTPResponse, apiError
   118  	case 401:
   119  		var v models.ProblemDetails
   120  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   121  		if err != nil {
   122  			apiError.ErrorStatus = err.Error()
   123  			return localVarReturnValue, localVarHTTPResponse, apiError
   124  		}
   125  		apiError.ErrorModel = v
   126  		return localVarReturnValue, localVarHTTPResponse, apiError
   127  	case 403:
   128  		var v models.ProblemDetails
   129  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   130  		if err != nil {
   131  			apiError.ErrorStatus = err.Error()
   132  			return localVarReturnValue, localVarHTTPResponse, apiError
   133  		}
   134  		apiError.ErrorModel = v
   135  		return localVarReturnValue, localVarHTTPResponse, apiError
   136  	case 404:
   137  		var v models.ProblemDetails
   138  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   139  		if err != nil {
   140  			apiError.ErrorStatus = err.Error()
   141  			return localVarReturnValue, localVarHTTPResponse, apiError
   142  		}
   143  		apiError.ErrorModel = v
   144  		return localVarReturnValue, localVarHTTPResponse, apiError
   145  	case 406:
   146  		return localVarReturnValue, localVarHTTPResponse, nil
   147  	case 429:
   148  		var v models.ProblemDetails
   149  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   150  		if err != nil {
   151  			apiError.ErrorStatus = err.Error()
   152  			return localVarReturnValue, localVarHTTPResponse, apiError
   153  		}
   154  		apiError.ErrorModel = v
   155  		return localVarReturnValue, localVarHTTPResponse, apiError
   156  	case 414:
   157  		var v models.ProblemDetails
   158  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   159  		if err != nil {
   160  			apiError.ErrorStatus = err.Error()
   161  			return localVarReturnValue, localVarHTTPResponse, apiError
   162  		}
   163  		apiError.ErrorModel = v
   164  		return localVarReturnValue, localVarHTTPResponse, apiError
   165  	case 500:
   166  		var v models.ProblemDetails
   167  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   168  		if err != nil {
   169  			apiError.ErrorStatus = err.Error()
   170  			return localVarReturnValue, localVarHTTPResponse, apiError
   171  		}
   172  		apiError.ErrorModel = v
   173  		return localVarReturnValue, localVarHTTPResponse, apiError
   174  	case 503:
   175  		var v models.ProblemDetails
   176  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   177  		if err != nil {
   178  			apiError.ErrorStatus = err.Error()
   179  			return localVarReturnValue, localVarHTTPResponse, apiError
   180  		}
   181  		apiError.ErrorModel = v
   182  		return localVarReturnValue, localVarHTTPResponse, apiError
   183  	default:
   184  		return localVarReturnValue, localVarHTTPResponse, openapi.ReportError("%d is not a valid status code in NnefPFDmanagementFetch", localVarHTTPResponse.StatusCode)
   185  	}
   186  }