github.com/free5gc/openapi@v1.0.8/Nnef_PFDmanagement/api_notification.go (about)

     1  package Nnef_PFDmanagement
     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 NotificationApiService service
    20  
    21  /*
    22  NotificationApiService Notifies about update to PFD change
    23   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    24   * @param notifyUri string - Notification URI provided in subscription
    25   * @param pfdChangeNotifications []PfdChangeNotification - Notifications about updates to PFDs
    26  */
    27  
    28  func (a *NotificationApiService) NotificationPost(ctx context.Context, notifyUri string, pfdChangeNotifications []PfdChangeNotification) ([]PfdChangeReport, *http.Response, error) {
    29  	var (
    30  		localVarHTTPMethod   = strings.ToUpper("Post")
    31  		localVarPostBody     interface{}
    32  		localVarFormFileName string
    33  		localVarFileName     string
    34  		localVarFileBytes    []byte
    35  		localVarReturnValue  []PfdChangeReport
    36  	)
    37  
    38  	// create path and map variables
    39  	localVarPath := notifyUri + "/notify"
    40  	localVarHeaderParams := make(map[string]string)
    41  	localVarQueryParams := url.Values{}
    42  	localVarFormParams := url.Values{}
    43  
    44  	localVarHTTPContentTypes := []string{"application/json"}
    45  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    46  
    47  	// to determine the Accept header
    48  	localVarHTTPHeaderAccepts := []string{"application/problem+json"}
    49  
    50  	// set Accept header
    51  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    52  	if localVarHTTPHeaderAccept != "" {
    53  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    54  	}
    55  
    56  	// body params
    57  	localVarPostBody = &pfdChangeNotifications
    58  
    59  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    60  	if err != nil {
    61  		return localVarReturnValue, nil, err
    62  	}
    63  
    64  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    65  	if err != nil || localVarHTTPResponse == nil {
    66  		return localVarReturnValue, localVarHTTPResponse, err
    67  	}
    68  
    69  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
    70  	localVarHTTPResponse.Body.Close()
    71  	if err != nil {
    72  		return localVarReturnValue, localVarHTTPResponse, err
    73  	}
    74  
    75  	apiError := openapi.GenericOpenAPIError{
    76  		RawBody:     localVarBody,
    77  		ErrorStatus: localVarHTTPResponse.Status,
    78  	}
    79  
    80  	switch localVarHTTPResponse.StatusCode {
    81  	case 200:
    82  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
    83  		if err != nil {
    84  			apiError.ErrorStatus = err.Error()
    85  		}
    86  		return localVarReturnValue, localVarHTTPResponse, nil
    87  	case 204:
    88  		return localVarReturnValue, localVarHTTPResponse, nil
    89  	case 400:
    90  		var v ProblemDetails
    91  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
    92  		if err != nil {
    93  			apiError.ErrorStatus = err.Error()
    94  			return localVarReturnValue, localVarHTTPResponse, nil
    95  		}
    96  		apiError.ErrorModel = v
    97  		return localVarReturnValue, localVarHTTPResponse, nil
    98  	case 401:
    99  		var v 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, nil
   104  		}
   105  		apiError.ErrorModel = v
   106  		return localVarReturnValue, localVarHTTPResponse, nil
   107  	case 403:
   108  		var v 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, nil
   113  		}
   114  		apiError.ErrorModel = v
   115  		return localVarReturnValue, localVarHTTPResponse, nil
   116  	case 404:
   117  		var v ProblemDetails
   118  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   119  		if err != nil {
   120  			apiError.ErrorStatus = err.Error()
   121  			return localVarReturnValue, localVarHTTPResponse, nil
   122  		}
   123  		apiError.ErrorModel = v
   124  		return localVarReturnValue, localVarHTTPResponse, nil
   125  	case 411:
   126  		var v ProblemDetails
   127  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   128  		if err != nil {
   129  			apiError.ErrorStatus = err.Error()
   130  			return localVarReturnValue, localVarHTTPResponse, nil
   131  		}
   132  		apiError.ErrorModel = v
   133  		return localVarReturnValue, localVarHTTPResponse, nil
   134  	case 413:
   135  		var v ProblemDetails
   136  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   137  		if err != nil {
   138  			apiError.ErrorStatus = err.Error()
   139  			return localVarReturnValue, localVarHTTPResponse, nil
   140  		}
   141  		apiError.ErrorModel = v
   142  		return localVarReturnValue, localVarHTTPResponse, nil
   143  	case 415:
   144  		var v ProblemDetails
   145  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   146  		if err != nil {
   147  			apiError.ErrorStatus = err.Error()
   148  			return localVarReturnValue, localVarHTTPResponse, nil
   149  		}
   150  		apiError.ErrorModel = v
   151  		return localVarReturnValue, localVarHTTPResponse, nil
   152  	case 429:
   153  		var v ProblemDetails
   154  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   155  		if err != nil {
   156  			apiError.ErrorStatus = err.Error()
   157  			return localVarReturnValue, localVarHTTPResponse, nil
   158  		}
   159  		apiError.ErrorModel = v
   160  		return localVarReturnValue, localVarHTTPResponse, nil
   161  	case 500:
   162  		var v ProblemDetails
   163  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   164  		if err != nil {
   165  			apiError.ErrorStatus = err.Error()
   166  			return localVarReturnValue, localVarHTTPResponse, nil
   167  		}
   168  		apiError.ErrorModel = v
   169  		return localVarReturnValue, localVarHTTPResponse, nil
   170  	case 503:
   171  		var v ProblemDetails
   172  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   173  		if err != nil {
   174  			apiError.ErrorStatus = err.Error()
   175  			return localVarReturnValue, localVarHTTPResponse, nil
   176  		}
   177  		apiError.ErrorModel = v
   178  		return localVarReturnValue, localVarHTTPResponse, nil
   179  	default:
   180  		return localVarReturnValue, localVarHTTPResponse, nil
   181  	}
   182  }