github.com/free5gc/openapi@v1.0.8/Nudm_UEContextManagement/api_deregistrationNotification.go (about)

     1  package Nudm_UEContextManagement
     2  
     3  import (
     4  	"context"
     5  	"io/ioutil"
     6  	"net/http"
     7  	"net/url"
     8  	"strings"
     9  
    10  	"github.com/free5gc/openapi"
    11  	"github.com/free5gc/openapi/models"
    12  )
    13  
    14  // Linger please
    15  var (
    16  	_ context.Context
    17  )
    18  
    19  type DeregistrationNotificationCallbackApiService service
    20  
    21  func (a *DeregistrationNotificationCallbackApiService) DeregistrationNotify(ctx context.Context, onDeregistrationNotifyUrl string, request models.DeregistrationData) (*http.Response, error) {
    22  	var (
    23  		localVarHttpMethod   = strings.ToUpper("Post")
    24  		localVarPostBody     interface{}
    25  		localVarFormFileName string
    26  		localVarFileName     string
    27  		localVarFileBytes    []byte
    28  	)
    29  
    30  	// create path and map variables
    31  	localVarPath := onDeregistrationNotifyUrl
    32  	localVarHeaderParams := make(map[string]string)
    33  	localVarQueryParams := url.Values{}
    34  	localVarFormParams := url.Values{}
    35  
    36  	localVarHttpContentTypes := []string{"application/json"}
    37  	localVarHeaderParams["Content-Type"] = localVarHttpContentTypes[0] // use the first content type specified in 'consumes'
    38  
    39  	// to determine the Accept header
    40  	localVarHttpHeaderAccepts := []string{"application/problem+json"}
    41  
    42  	// set Accept header
    43  	localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts)
    44  	if localVarHttpHeaderAccept != "" {
    45  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    46  	}
    47  
    48  	// body params
    49  	localVarPostBody = &request
    50  
    51  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    52  	if err != nil {
    53  		return nil, err
    54  	}
    55  
    56  	localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r)
    57  	if err != nil || localVarHttpResponse == nil {
    58  		return localVarHttpResponse, err
    59  	}
    60  
    61  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    62  	localVarHttpResponse.Body.Close()
    63  	if err != nil {
    64  		return localVarHttpResponse, err
    65  	}
    66  
    67  	apiError := openapi.GenericOpenAPIError{
    68  		RawBody:     localVarBody,
    69  		ErrorStatus: localVarHttpResponse.Status,
    70  	}
    71  
    72  	switch localVarHttpResponse.StatusCode {
    73  
    74  	case 204:
    75  		return localVarHttpResponse, err
    76  	case 400:
    77  		var v models.ProblemDetails
    78  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    79  		if err != nil {
    80  			apiError.ErrorStatus = err.Error()
    81  			return localVarHttpResponse, apiError
    82  		}
    83  		apiError.ErrorModel = v
    84  		return localVarHttpResponse, apiError
    85  	case 404:
    86  		var v models.ProblemDetails
    87  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    88  		if err != nil {
    89  			apiError.ErrorStatus = err.Error()
    90  			return localVarHttpResponse, apiError
    91  		}
    92  		apiError.ErrorModel = v
    93  		return localVarHttpResponse, apiError
    94  
    95  	default:
    96  		return localVarHttpResponse, openapi.ReportError("%d is not a valid status code in onDeregistrationNotification", localVarHttpResponse.StatusCode)
    97  	}
    98  }