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