github.com/free5gc/openapi@v1.0.8/Namf_Communication/api_n1_n2_message_transfer_status_notification_callback_document.go (about)

     1  /*
     2   * Namf_Communication
     3   *
     4   * AMF Communication Service
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Namf_Communication
    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 N1N2MessageTransferStatusNotificationCallbackDocumentApiService service
    29  
    30  /*
    31  N1N2MessageTransferStatusNotificationCallbackDocumentApiService Namf_Communication N1N2Transfer Failure Notification service Operation
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param ueContextId UE Context Identifier
    34   * @param subscriptionId Subscription Identifier
    35  */
    36  func (a *N1N2MessageTransferStatusNotificationCallbackDocumentApiService) N1N2TransferFailureNotification(ctx context.Context, n1N2MessageTransferNotificationUrl string, request models.N1N2MsgTxfrFailureNotification) (*http.Response, error) {
    37  	var (
    38  		localVarHttpMethod   = strings.ToUpper("Post")
    39  		localVarPostBody     interface{}
    40  		localVarFormFileName string
    41  		localVarFileName     string
    42  		localVarFileBytes    []byte
    43  	)
    44  
    45  	// create path and map variables
    46  	localVarPath := n1N2MessageTransferNotificationUrl
    47  
    48  	localVarHeaderParams := make(map[string]string)
    49  	localVarQueryParams := url.Values{}
    50  	localVarFormParams := url.Values{}
    51  
    52  	localVarHttpContentTypes := []string{"application/json"}
    53  	localVarHeaderParams["Content-Type"] = localVarHttpContentTypes[0] // use the first content type specified in 'consumes'
    54  
    55  	// to determine the Accept header
    56  	localVarHttpHeaderAccepts := []string{"application/problem+json"}
    57  
    58  	// set Accept header
    59  	localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts)
    60  	if localVarHttpHeaderAccept != "" {
    61  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    62  	}
    63  
    64  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    65  	if err != nil {
    66  		return nil, err
    67  	}
    68  
    69  	localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r)
    70  	if err != nil || localVarHttpResponse == nil {
    71  		return localVarHttpResponse, err
    72  	}
    73  
    74  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    75  	localVarHttpResponse.Body.Close()
    76  	if err != nil {
    77  		return localVarHttpResponse, err
    78  	}
    79  
    80  	apiError := openapi.GenericOpenAPIError{
    81  		RawBody:     localVarBody,
    82  		ErrorStatus: localVarHttpResponse.Status,
    83  	}
    84  	switch localVarHttpResponse.StatusCode {
    85  	case 204:
    86  		return localVarHttpResponse, err
    87  	case 400:
    88  		var v models.ProblemDetails
    89  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    90  		if err != nil {
    91  			apiError.ErrorStatus = err.Error()
    92  			return localVarHttpResponse, apiError
    93  		}
    94  		apiError.ErrorModel = v
    95  		return localVarHttpResponse, apiError
    96  	case 411:
    97  		var v models.ProblemDetails
    98  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    99  		if err != nil {
   100  			apiError.ErrorStatus = err.Error()
   101  			return localVarHttpResponse, apiError
   102  		}
   103  		apiError.ErrorModel = v
   104  		return localVarHttpResponse, apiError
   105  	case 413:
   106  		var v models.ProblemDetails
   107  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   108  		if err != nil {
   109  			apiError.ErrorStatus = err.Error()
   110  			return localVarHttpResponse, apiError
   111  		}
   112  		apiError.ErrorModel = v
   113  		return localVarHttpResponse, apiError
   114  	case 415:
   115  		var v models.ProblemDetails
   116  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   117  		if err != nil {
   118  			apiError.ErrorStatus = err.Error()
   119  			return localVarHttpResponse, apiError
   120  		}
   121  		apiError.ErrorModel = v
   122  		return localVarHttpResponse, apiError
   123  	case 429:
   124  		var v models.ProblemDetails
   125  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   126  		if err != nil {
   127  			apiError.ErrorStatus = err.Error()
   128  			return localVarHttpResponse, apiError
   129  		}
   130  		apiError.ErrorModel = v
   131  		return localVarHttpResponse, apiError
   132  	case 500:
   133  		var v models.ProblemDetails
   134  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   135  		if err != nil {
   136  			apiError.ErrorStatus = err.Error()
   137  			return localVarHttpResponse, apiError
   138  		}
   139  		apiError.ErrorModel = v
   140  		return localVarHttpResponse, apiError
   141  	case 503:
   142  		var v models.ProblemDetails
   143  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   144  		if err != nil {
   145  			apiError.ErrorStatus = err.Error()
   146  			return localVarHttpResponse, apiError
   147  		}
   148  		apiError.ErrorModel = v
   149  		return localVarHttpResponse, apiError
   150  	default:
   151  		return localVarHttpResponse, openapi.ReportError("%d is not a valid status code in N1N2TransferFailureNotification", localVarHttpResponse.StatusCode)
   152  	}
   153  }