github.com/free5gc/openapi@v1.0.8/Nudm_UEContextManagement/api_smf_deregistration.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 SMFDeregistrationApiService service 30 31 /* 32 SMFDeregistrationApiService delete an SMF registration 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 */ 37 38 func (a *SMFDeregistrationApiService) Deregistration(ctx context.Context, ueId string, pduSessionId int32) (*http.Response, error) { 39 var ( 40 localVarHTTPMethod = strings.ToUpper("Delete") 41 localVarPostBody interface{} 42 localVarFormFileName string 43 localVarFileName string 44 localVarFileBytes []byte 45 ) 46 47 // create path and map variables 48 localVarPath := a.client.cfg.BasePath() + "/{ueId}/registrations/smf-registrations/{pduSessionId}" 49 localVarPath = strings.Replace(localVarPath, "{"+"ueId"+"}", fmt.Sprintf("%v", ueId), -1) 50 localVarPath = strings.Replace(localVarPath, "{"+"pduSessionId"+"}", fmt.Sprintf("%v", pduSessionId), -1) 51 52 localVarHeaderParams := make(map[string]string) 53 localVarQueryParams := url.Values{} 54 localVarFormParams := url.Values{} 55 if pduSessionId < 0 { 56 return nil, openapi.ReportError("pduSessionId must be greater than 0") 57 } 58 if pduSessionId > 255 { 59 return nil, openapi.ReportError("pduSessionId must be less than 255") 60 } 61 62 localVarHTTPContentTypes := []string{"application/json"} 63 64 localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes' 65 66 // to determine the Accept header 67 localVarHTTPHeaderAccepts := []string{"application/problem+json"} 68 69 // set Accept header 70 localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts) 71 if localVarHTTPHeaderAccept != "" { 72 localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept 73 } 74 75 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 76 if err != nil { 77 return nil, err 78 } 79 80 localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r) 81 if err != nil || localVarHTTPResponse == nil { 82 return localVarHTTPResponse, err 83 } 84 85 localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body) 86 localVarHTTPResponse.Body.Close() 87 if err != nil { 88 return localVarHTTPResponse, err 89 } 90 91 apiError := openapi.GenericOpenAPIError{ 92 RawBody: localVarBody, 93 ErrorStatus: localVarHTTPResponse.Status, 94 } 95 96 switch localVarHTTPResponse.StatusCode { 97 case 204: 98 return localVarHTTPResponse, nil 99 case 400: 100 var v models.ProblemDetails 101 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 102 if err != nil { 103 apiError.ErrorStatus = err.Error() 104 return localVarHTTPResponse, apiError 105 } 106 apiError.ErrorModel = v 107 return localVarHTTPResponse, apiError 108 case 404: 109 var v models.ProblemDetails 110 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 111 if err != nil { 112 apiError.ErrorStatus = err.Error() 113 return localVarHTTPResponse, apiError 114 } 115 apiError.ErrorModel = v 116 return localVarHTTPResponse, apiError 117 case 422: 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 localVarHTTPResponse, apiError 123 } 124 apiError.ErrorModel = v 125 return localVarHTTPResponse, apiError 126 case 500: 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 localVarHTTPResponse, apiError 132 } 133 apiError.ErrorModel = v 134 return localVarHTTPResponse, apiError 135 case 503: 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 localVarHTTPResponse, apiError 141 } 142 apiError.ErrorModel = v 143 return localVarHTTPResponse, apiError 144 default: 145 return localVarHTTPResponse, nil 146 } 147 }