github.com/free5gc/openapi@v1.0.8/Namf_Communication/api_subscriptions_collection_document.go (about)

     1  /*
     2   * Namf_Communication
     3   *
     4   * AMF Communication Service
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Namf_Communication
    11  
    12  import (
    13  	"context"
    14  	"io/ioutil"
    15  	"net/http"
    16  	"net/url"
    17  	"strings"
    18  
    19  	"github.com/free5gc/openapi"
    20  	"github.com/free5gc/openapi/models"
    21  )
    22  
    23  // Linger please
    24  var (
    25  	_ context.Context
    26  )
    27  
    28  type SubscriptionsCollectionDocumentApiService service
    29  
    30  /*
    31  SubscriptionsCollectionDocumentApiService Namf_Communication AMF Status Change Subscribe service Operation
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param subscriptionData
    34  @return SubscriptionData
    35  */
    36  
    37  func (a *SubscriptionsCollectionDocumentApiService) AMFStatusChangeSubscribe(ctx context.Context, subscriptionData models.SubscriptionData) (models.SubscriptionData, *http.Response, error) {
    38  	var (
    39  		localVarHttpMethod   = strings.ToUpper("Post")
    40  		localVarPostBody     interface{}
    41  		localVarFormFileName string
    42  		localVarFileName     string
    43  		localVarFileBytes    []byte
    44  		localVarReturnValue  models.SubscriptionData
    45  	)
    46  
    47  	// create path and map variables
    48  	localVarPath := a.client.cfg.BasePath() + "/subscriptions"
    49  
    50  	localVarHeaderParams := make(map[string]string)
    51  	localVarQueryParams := url.Values{}
    52  	localVarFormParams := url.Values{}
    53  
    54  	localVarHttpContentTypes := []string{"application/json"}
    55  	localVarHeaderParams["Content-Type"] = localVarHttpContentTypes[0] // use the first content type specified in 'consumes'
    56  
    57  	// to determine the Accept header
    58  	localVarHttpHeaderAccepts := []string{"application/json", "application/problem+json"}
    59  
    60  	// set Accept header
    61  	localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts)
    62  	if localVarHttpHeaderAccept != "" {
    63  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    64  	}
    65  
    66  	// body params
    67  	localVarPostBody = &subscriptionData
    68  
    69  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    70  	if err != nil {
    71  		return localVarReturnValue, nil, err
    72  	}
    73  
    74  	localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r)
    75  	if err != nil || localVarHttpResponse == nil {
    76  		return localVarReturnValue, localVarHttpResponse, err
    77  	}
    78  
    79  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    80  	localVarHttpResponse.Body.Close()
    81  	if err != nil {
    82  		return localVarReturnValue, localVarHttpResponse, err
    83  	}
    84  
    85  	apiError := openapi.GenericOpenAPIError{
    86  		RawBody:     localVarBody,
    87  		ErrorStatus: localVarHttpResponse.Status,
    88  	}
    89  	switch localVarHttpResponse.StatusCode {
    90  	case 201:
    91  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    92  		if err != nil {
    93  			apiError.ErrorStatus = err.Error()
    94  		}
    95  		return localVarReturnValue, localVarHttpResponse, nil
    96  	case 400:
    97  		var v models.ProblemDetails
    98  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    99  		if err != nil {
   100  			apiError.ErrorStatus = err.Error()
   101  			return localVarReturnValue, localVarHttpResponse, apiError
   102  		}
   103  		apiError.ErrorModel = v
   104  		return localVarReturnValue, localVarHttpResponse, apiError
   105  	case 403:
   106  		var v models.ProblemDetails
   107  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   108  		if err != nil {
   109  			apiError.ErrorStatus = err.Error()
   110  			return localVarReturnValue, localVarHttpResponse, apiError
   111  		}
   112  		apiError.ErrorModel = v
   113  		return localVarReturnValue, localVarHttpResponse, apiError
   114  	case 411:
   115  		var v models.ProblemDetails
   116  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   117  		if err != nil {
   118  			apiError.ErrorStatus = err.Error()
   119  			return localVarReturnValue, localVarHttpResponse, apiError
   120  		}
   121  		apiError.ErrorModel = v
   122  		return localVarReturnValue, localVarHttpResponse, apiError
   123  	case 413:
   124  		var v models.ProblemDetails
   125  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   126  		if err != nil {
   127  			apiError.ErrorStatus = err.Error()
   128  			return localVarReturnValue, localVarHttpResponse, apiError
   129  		}
   130  		apiError.ErrorModel = v
   131  		return localVarReturnValue, localVarHttpResponse, apiError
   132  	case 415:
   133  		var v models.ProblemDetails
   134  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   135  		if err != nil {
   136  			apiError.ErrorStatus = err.Error()
   137  			return localVarReturnValue, localVarHttpResponse, apiError
   138  		}
   139  		apiError.ErrorModel = v
   140  		return localVarReturnValue, localVarHttpResponse, apiError
   141  	case 429:
   142  		var v models.ProblemDetails
   143  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   144  		if err != nil {
   145  			apiError.ErrorStatus = err.Error()
   146  			return localVarReturnValue, localVarHttpResponse, apiError
   147  		}
   148  		apiError.ErrorModel = v
   149  		return localVarReturnValue, localVarHttpResponse, apiError
   150  	case 500:
   151  		var v models.ProblemDetails
   152  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   153  		if err != nil {
   154  			apiError.ErrorStatus = err.Error()
   155  			return localVarReturnValue, localVarHttpResponse, apiError
   156  		}
   157  		apiError.ErrorModel = v
   158  		return localVarReturnValue, localVarHttpResponse, apiError
   159  	case 503:
   160  		var v models.ProblemDetails
   161  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   162  		if err != nil {
   163  			apiError.ErrorStatus = err.Error()
   164  			return localVarReturnValue, localVarHttpResponse, apiError
   165  		}
   166  		apiError.ErrorModel = v
   167  		return localVarReturnValue, localVarHttpResponse, apiError
   168  	default:
   169  		return localVarReturnValue, localVarHttpResponse, openapi.ReportError("%d is not a valid status code in AMFStatusChangeSubscribe", localVarHttpResponse.StatusCode)
   170  	}
   171  }