github.com/free5gc/openapi@v1.0.8/Nudm_SubscriberDataManagement/api_subscription_creation_for_shared_data.go (about) 1 /* 2 * Nudm_SDM 3 * 4 * Nudm Subscriber Data Management Service 5 * 6 * API version: 2.0.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package Nudm_SubscriberDataManagement 11 12 import ( 13 "context" 14 "io/ioutil" 15 "net/http" 16 "net/url" 17 "strings" 18 19 "github.com/free5gc/openapi" 20 "github.com/free5gc/openapi/models" 21 ) 22 23 // Linger please 24 var ( 25 _ context.Context 26 ) 27 28 type SubscriptionCreationForSharedDataApiService service 29 30 /* 31 SubscriptionCreationForSharedDataApiService subscribe to notifications for shared data 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 * @param sdmSubscription 34 @return models.SdmSubscription 35 */ 36 37 func (a *SubscriptionCreationForSharedDataApiService) SubscribeToSharedData(ctx context.Context, sdmSubscription models.SdmSubscription) (models.SdmSubscription, *http.Response, error) { 38 var ( 39 localVarHTTPMethod = strings.ToUpper("Post") 40 localVarPostBody interface{} 41 localVarFormFileName string 42 localVarFileName string 43 localVarFileBytes []byte 44 localVarReturnValue models.SdmSubscription 45 ) 46 47 // create path and map variables 48 localVarPath := a.client.cfg.BasePath() + "/shared-data-subscriptions" 49 50 localVarHeaderParams := make(map[string]string) 51 localVarQueryParams := url.Values{} 52 localVarFormParams := url.Values{} 53 54 localVarHTTPContentTypes := []string{"application/json"} 55 56 localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes' 57 58 // to determine the Accept header 59 localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"} 60 61 // set Accept header 62 localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts) 63 if localVarHTTPHeaderAccept != "" { 64 localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept 65 } 66 67 // body params 68 localVarPostBody = &sdmSubscription 69 70 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 71 if err != nil { 72 return localVarReturnValue, nil, err 73 } 74 75 localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r) 76 if err != nil || localVarHTTPResponse == nil { 77 return localVarReturnValue, localVarHTTPResponse, err 78 } 79 80 localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body) 81 localVarHTTPResponse.Body.Close() 82 if err != nil { 83 return localVarReturnValue, localVarHTTPResponse, err 84 } 85 86 apiError := openapi.GenericOpenAPIError{ 87 RawBody: localVarBody, 88 ErrorStatus: localVarHTTPResponse.Status, 89 } 90 91 switch localVarHTTPResponse.StatusCode { 92 case 201: 93 err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 94 if err != nil { 95 apiError.ErrorStatus = err.Error() 96 } 97 return localVarReturnValue, localVarHTTPResponse, nil 98 case 400: 99 var v models.ProblemDetails 100 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 101 if err != nil { 102 apiError.ErrorStatus = err.Error() 103 return localVarReturnValue, localVarHTTPResponse, apiError 104 } 105 apiError.ErrorModel = v 106 return localVarReturnValue, localVarHTTPResponse, apiError 107 case 404: 108 var v models.ProblemDetails 109 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 110 if err != nil { 111 apiError.ErrorStatus = err.Error() 112 return localVarReturnValue, localVarHTTPResponse, apiError 113 } 114 apiError.ErrorModel = v 115 return localVarReturnValue, localVarHTTPResponse, apiError 116 default: 117 return localVarReturnValue, localVarHTTPResponse, nil 118 } 119 }