github.com/free5gc/openapi@v1.0.8/Nnssf_NSSAIAvailability/api_subscription_id_document.go (about)

     1  /*
     2   * NSSF NSSAI Availability
     3   *
     4   * NSSF NSSAI Availability Service
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Nnssf_NSSAIAvailability
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"strings"
    19  
    20  	"github.com/free5gc/openapi"
    21  	. "github.com/free5gc/openapi/models"
    22  )
    23  
    24  // Linger please
    25  var (
    26  	_ context.Context
    27  )
    28  
    29  type SubscriptionIDDocumentApiService service
    30  
    31  /*
    32  SubscriptionIDDocumentApiService Deletes an already existing NSSAI availability notification subscription
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param subscriptionId Identifier of the subscription for notification
    35  */
    36  
    37  func (a *SubscriptionIDDocumentApiService) NSSAIAvailabilityUnsubscribe(ctx context.Context, subscriptionId string) (*http.Response, error) {
    38  	var (
    39  		localVarHTTPMethod   = strings.ToUpper("Delete")
    40  		localVarPostBody     interface{}
    41  		localVarFormFileName string
    42  		localVarFileName     string
    43  		localVarFileBytes    []byte
    44  	)
    45  
    46  	// create path and map variables
    47  	localVarPath := a.client.cfg.BasePath() + "/nssai-availability/subscriptions/{subscriptionId}"
    48  	localVarPath = strings.Replace(localVarPath, "{"+"subscriptionId"+"}", fmt.Sprintf("%v", subscriptionId), -1)
    49  
    50  	localVarHeaderParams := make(map[string]string)
    51  	localVarQueryParams := url.Values{}
    52  	localVarFormParams := url.Values{}
    53  
    54  	localVarHTTPContentTypes := []string{"application/json"}
    55  
    56  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    57  
    58  	// to determine the Accept header
    59  	localVarHTTPHeaderAccepts := []string{"application/problem+json"}
    60  
    61  	// set Accept header
    62  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    63  	if localVarHTTPHeaderAccept != "" {
    64  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    65  	}
    66  
    67  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    68  	if err != nil {
    69  		return nil, err
    70  	}
    71  
    72  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    73  	if err != nil || localVarHTTPResponse == nil {
    74  		return localVarHTTPResponse, err
    75  	}
    76  
    77  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
    78  	localVarHTTPResponse.Body.Close()
    79  	if err != nil {
    80  		return localVarHTTPResponse, err
    81  	}
    82  
    83  	apiError := openapi.GenericOpenAPIError{
    84  		RawBody:     localVarBody,
    85  		ErrorStatus: localVarHTTPResponse.Status,
    86  	}
    87  
    88  	switch localVarHTTPResponse.StatusCode {
    89  	case 204:
    90  		return localVarHTTPResponse, nil
    91  	case 400:
    92  		var v ProblemDetails
    93  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
    94  		if err != nil {
    95  			apiError.ErrorStatus = err.Error()
    96  			return localVarHTTPResponse, apiError
    97  		}
    98  		apiError.ErrorModel = v
    99  		return localVarHTTPResponse, apiError
   100  	case 401:
   101  		var v ProblemDetails
   102  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   103  		if err != nil {
   104  			apiError.ErrorStatus = err.Error()
   105  			return localVarHTTPResponse, apiError
   106  		}
   107  		apiError.ErrorModel = v
   108  		return localVarHTTPResponse, apiError
   109  	case 404:
   110  		var v ProblemDetails
   111  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   112  		if err != nil {
   113  			apiError.ErrorStatus = err.Error()
   114  			return localVarHTTPResponse, apiError
   115  		}
   116  		apiError.ErrorModel = v
   117  		return localVarHTTPResponse, apiError
   118  	case 429:
   119  		var v ProblemDetails
   120  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   121  		if err != nil {
   122  			apiError.ErrorStatus = err.Error()
   123  			return localVarHTTPResponse, apiError
   124  		}
   125  		apiError.ErrorModel = v
   126  		return localVarHTTPResponse, apiError
   127  	case 500:
   128  		var v ProblemDetails
   129  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   130  		if err != nil {
   131  			apiError.ErrorStatus = err.Error()
   132  			return localVarHTTPResponse, apiError
   133  		}
   134  		apiError.ErrorModel = v
   135  		return localVarHTTPResponse, apiError
   136  	case 503:
   137  		var v ProblemDetails
   138  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   139  		if err != nil {
   140  			apiError.ErrorStatus = err.Error()
   141  			return localVarHTTPResponse, apiError
   142  		}
   143  		apiError.ErrorModel = v
   144  		return localVarHTTPResponse, apiError
   145  	default:
   146  		return localVarHTTPResponse, nil
   147  	}
   148  }