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 }