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

     1  package Namf_Communication
     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 N2InfoNotifyCallbackDocumentApiService service
    20  
    21  func (a *N2InfoNotifyCallbackDocumentApiService) N2InfoNotify(ctx context.Context, n2InfoNotifyUrl string, request models.N2InfoNotifyRequest) (*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 := n2InfoNotifyUrl
    32  	localVarHeaderParams := make(map[string]string)
    33  	localVarQueryParams := url.Values{}
    34  	localVarFormParams := url.Values{}
    35  
    36  	// to determine is multipart request
    37  	if request.BinaryDataN1Message != nil || request.BinaryDataN2Information != nil {
    38  		localVarHeaderParams["Content-Type"] = "multipart/related"
    39  		localVarPostBody = &request
    40  	} else {
    41  		localVarHeaderParams["Content-Type"] = "application/json"
    42  		localVarPostBody = request.JsonData
    43  	}
    44  
    45  	// to determine the Accept header
    46  	localVarHttpHeaderAccepts := []string{"application/json", "multipart/related", "application/problem+json"}
    47  
    48  	// set Accept header
    49  	localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts)
    50  	if localVarHttpHeaderAccept != "" {
    51  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    52  	}
    53  
    54  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    55  	if err != nil {
    56  		return nil, err
    57  	}
    58  
    59  	localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r)
    60  	if err != nil || localVarHttpResponse == nil {
    61  		return localVarHttpResponse, err
    62  	}
    63  
    64  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    65  	localVarHttpResponse.Body.Close()
    66  	if err != nil {
    67  		return localVarHttpResponse, err
    68  	}
    69  
    70  	apiError := openapi.GenericOpenAPIError{
    71  		RawBody:     localVarBody,
    72  		ErrorStatus: localVarHttpResponse.Status,
    73  	}
    74  	switch localVarHttpResponse.StatusCode {
    75  	case 204:
    76  		return localVarHttpResponse, err
    77  	case 400:
    78  		var v models.ProblemDetails
    79  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    80  		if err != nil {
    81  			apiError.ErrorStatus = err.Error()
    82  			return localVarHttpResponse, apiError
    83  		}
    84  		apiError.ErrorModel = v
    85  		return localVarHttpResponse, apiError
    86  	case 411:
    87  		var v models.ProblemDetails
    88  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    89  		if err != nil {
    90  			apiError.ErrorStatus = err.Error()
    91  			return localVarHttpResponse, apiError
    92  		}
    93  		apiError.ErrorModel = v
    94  		return localVarHttpResponse, apiError
    95  	case 413:
    96  		var v models.ProblemDetails
    97  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    98  		if err != nil {
    99  			apiError.ErrorStatus = err.Error()
   100  			return localVarHttpResponse, apiError
   101  		}
   102  		apiError.ErrorModel = v
   103  		return localVarHttpResponse, apiError
   104  	case 415:
   105  		var v models.ProblemDetails
   106  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   107  		if err != nil {
   108  			apiError.ErrorStatus = err.Error()
   109  			return localVarHttpResponse, apiError
   110  		}
   111  		apiError.ErrorModel = v
   112  		return localVarHttpResponse, apiError
   113  	case 429:
   114  		var v models.ProblemDetails
   115  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   116  		if err != nil {
   117  			apiError.ErrorStatus = err.Error()
   118  			return localVarHttpResponse, apiError
   119  		}
   120  		apiError.ErrorModel = v
   121  		return localVarHttpResponse, apiError
   122  	case 500:
   123  		var v models.ProblemDetails
   124  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   125  		if err != nil {
   126  			apiError.ErrorStatus = err.Error()
   127  			return localVarHttpResponse, apiError
   128  		}
   129  		apiError.ErrorModel = v
   130  		return localVarHttpResponse, apiError
   131  	case 503:
   132  		var v models.ProblemDetails
   133  		err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   134  		if err != nil {
   135  			apiError.ErrorStatus = err.Error()
   136  			return localVarHttpResponse, apiError
   137  		}
   138  		apiError.ErrorModel = v
   139  		return localVarHttpResponse, apiError
   140  	default:
   141  		return localVarHttpResponse, openapi.ReportError("%d is not a valid status code in N1MessageNotify", localVarHttpResponse.StatusCode)
   142  	}
   143  }