github.com/free5gc/openapi@v1.0.8/Nudm_SubscriberDataManagement/api_subs_to_notification_data_change_notify_callback_document.go (about)

     1  package Nudm_SubscriberDataManagement
     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 DataChangeNotificationCallbackDocumentApiService service
    20  
    21  func (a *DataChangeNotificationCallbackDocumentApiService) OnDataChangeNotification(ctx context.Context, onDataChangeNotificationUrl string, request models.ModificationNotification) (*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 := onDataChangeNotificationUrl
    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  	switch localVarHttpResponse.StatusCode {
    72  
    73  	case 204:
    74  		return localVarHttpResponse, err
    75  	case 400:
    76  		var v models.ProblemDetails
    77  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    78  		if err != nil {
    79  			apiError.ErrorStatus = err.Error()
    80  			return localVarHttpResponse, apiError
    81  		}
    82  		apiError.ErrorModel = v
    83  		return localVarHttpResponse, apiError
    84  	case 404:
    85  		var v models.ProblemDetails
    86  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    87  		if err != nil {
    88  			apiError.ErrorStatus = err.Error()
    89  			return localVarHttpResponse, apiError
    90  		}
    91  		apiError.ErrorModel = v
    92  		return localVarHttpResponse, apiError
    93  	case 411:
    94  		var v models.ProblemDetails
    95  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    96  		if err != nil {
    97  			apiError.ErrorStatus = err.Error()
    98  			return localVarHttpResponse, apiError
    99  		}
   100  		apiError.ErrorModel = v
   101  		return localVarHttpResponse, apiError
   102  	case 413:
   103  		var v models.ProblemDetails
   104  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   105  		if err != nil {
   106  			apiError.ErrorStatus = err.Error()
   107  			return localVarHttpResponse, apiError
   108  		}
   109  		apiError.ErrorModel = v
   110  		return localVarHttpResponse, apiError
   111  	case 415:
   112  		var v models.ProblemDetails
   113  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   114  		if err != nil {
   115  			apiError.ErrorStatus = err.Error()
   116  			return localVarHttpResponse, apiError
   117  		}
   118  		apiError.ErrorModel = v
   119  		return localVarHttpResponse, apiError
   120  	case 429:
   121  		var v models.ProblemDetails
   122  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   123  		if err != nil {
   124  			apiError.ErrorStatus = err.Error()
   125  			return localVarHttpResponse, apiError
   126  		}
   127  		apiError.ErrorModel = v
   128  		return localVarHttpResponse, apiError
   129  	case 500:
   130  		var v models.ProblemDetails
   131  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   132  		if err != nil {
   133  			apiError.ErrorStatus = err.Error()
   134  			return localVarHttpResponse, apiError
   135  		}
   136  		apiError.ErrorModel = v
   137  		return localVarHttpResponse, apiError
   138  	case 503:
   139  		var v models.ProblemDetails
   140  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   141  		if err != nil {
   142  			apiError.ErrorStatus = err.Error()
   143  			return localVarHttpResponse, apiError
   144  		}
   145  		apiError.ErrorModel = v
   146  		return localVarHttpResponse, apiError
   147  	default:
   148  		return localVarHttpResponse, openapi.ReportError("%d is not a valid status code in OnDataChangeNotify", localVarHttpResponse.StatusCode)
   149  	}
   150  }