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

     1  /*
     2   * Nudm_UECM
     3   *
     4   * Nudm Context Management Service
     5   *
     6   * API version: 1.0.1
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Nudm_UEContextManagement
    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 SMFRegistrationApiService service
    30  
    31  /*
    32  SMFRegistrationApiService register as SMF
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param ueId Identifier of the UE
    35   * @param pduSessionId Identifier of the PDU session
    36   * @param smfRegistration
    37  @return models.SmfRegistration
    38  */
    39  
    40  func (a *SMFRegistrationApiService) SmfRegistrationsPduSessionId(ctx context.Context, ueId string, pduSessionId int32, smfRegistration models.SmfRegistration) (models.SmfRegistration, *http.Response, error) {
    41  	var (
    42  		localVarHTTPMethod   = strings.ToUpper("Put")
    43  		localVarPostBody     interface{}
    44  		localVarFormFileName string
    45  		localVarFileName     string
    46  		localVarFileBytes    []byte
    47  		localVarReturnValue  models.SmfRegistration
    48  	)
    49  
    50  	// create path and map variables
    51  	localVarPath := a.client.cfg.BasePath() + "/{ueId}/registrations/smf-registrations/{pduSessionId}"
    52  	localVarPath = strings.Replace(localVarPath, "{"+"ueId"+"}", fmt.Sprintf("%v", ueId), -1)
    53  	localVarPath = strings.Replace(localVarPath, "{"+"pduSessionId"+"}", fmt.Sprintf("%v", pduSessionId), -1)
    54  
    55  	localVarHeaderParams := make(map[string]string)
    56  	localVarQueryParams := url.Values{}
    57  	localVarFormParams := url.Values{}
    58  	if pduSessionId < 0 {
    59  		return localVarReturnValue, nil, openapi.ReportError("pduSessionId must be greater than 0")
    60  	}
    61  	if pduSessionId > 255 {
    62  		return localVarReturnValue, nil, openapi.ReportError("pduSessionId must be less than 255")
    63  	}
    64  
    65  	localVarHTTPContentTypes := []string{"application/json"}
    66  
    67  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    68  
    69  	// to determine the Accept header
    70  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    71  
    72  	// set Accept header
    73  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    74  	if localVarHTTPHeaderAccept != "" {
    75  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    76  	}
    77  
    78  	// body params
    79  	localVarPostBody = &smfRegistration
    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 201:
   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 200:
   110  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   111  		if err != nil {
   112  			apiError.ErrorStatus = err.Error()
   113  		}
   114  		return localVarReturnValue, localVarHTTPResponse, nil
   115  	case 204:
   116  		return localVarReturnValue, localVarHTTPResponse, nil
   117  	case 400:
   118  		var v models.ProblemDetails
   119  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   120  		if err != nil {
   121  			apiError.ErrorStatus = err.Error()
   122  			return localVarReturnValue, localVarHTTPResponse, apiError
   123  		}
   124  		apiError.ErrorModel = v
   125  		return localVarReturnValue, localVarHTTPResponse, apiError
   126  	case 403:
   127  		var v models.ProblemDetails
   128  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   129  		if err != nil {
   130  			apiError.ErrorStatus = err.Error()
   131  			return localVarReturnValue, localVarHTTPResponse, apiError
   132  		}
   133  		apiError.ErrorModel = v
   134  		return localVarReturnValue, localVarHTTPResponse, apiError
   135  	case 404:
   136  		var v models.ProblemDetails
   137  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   138  		if err != nil {
   139  			apiError.ErrorStatus = err.Error()
   140  			return localVarReturnValue, localVarHTTPResponse, apiError
   141  		}
   142  		apiError.ErrorModel = v
   143  		return localVarReturnValue, localVarHTTPResponse, apiError
   144  	case 500:
   145  		var v models.ProblemDetails
   146  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   147  		if err != nil {
   148  			apiError.ErrorStatus = err.Error()
   149  			return localVarReturnValue, localVarHTTPResponse, apiError
   150  		}
   151  		apiError.ErrorModel = v
   152  		return localVarReturnValue, localVarHTTPResponse, apiError
   153  	case 503:
   154  		var v models.ProblemDetails
   155  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   156  		if err != nil {
   157  			apiError.ErrorStatus = err.Error()
   158  			return localVarReturnValue, localVarHTTPResponse, apiError
   159  		}
   160  		apiError.ErrorModel = v
   161  		return localVarReturnValue, localVarHTTPResponse, apiError
   162  	default:
   163  		return localVarReturnValue, localVarHTTPResponse, nil
   164  	}
   165  }