github.com/free5gc/openapi@v1.0.8/Nnrf_AccessToken/api_access_token_request.go (about) 1 /* 2 * NRF OAuth2 3 * 4 * NRF OAuth2 Authorization 5 * 6 * API version: 1.0.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package Nnrf_AccessToken 11 12 import ( 13 "context" 14 "io/ioutil" 15 "net/http" 16 "net/url" 17 "strings" 18 19 "github.com/antihax/optional" 20 21 "github.com/free5gc/openapi" 22 "github.com/free5gc/openapi/models" 23 ) 24 25 // Linger please 26 var ( 27 _ context.Context 28 ) 29 30 type AccessTokenRequestApiService service 31 32 /* 33 AccessTokenRequestApiService Access Token Request 34 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 35 * @param grantType 36 * @param nfInstanceId 37 * @param scope 38 * @param optional nil or *AccessTokenRequestParamOpts - Optional Parameters: 39 * @param "NfType" (optional.Interface of models.NfType) - 40 * @param "TargetNfType" (optional.Interface of models.NfType) - 41 * @param "TargetNfInstanceId" (optional.Interface of string) - 42 * @param "RequesterPlmn" (optional.Interface of models.PlmnId) - 43 * @param "TargetPlmn" (optional.Interface of models.PlmnId) - 44 @return models.AccessTokenRsp 45 */ 46 47 type AccessTokenRequestParamOpts struct { 48 NfType optional.Interface 49 TargetNfType optional.Interface 50 TargetNfInstanceId optional.Interface 51 RequesterPlmn optional.Interface 52 TargetPlmn optional.Interface 53 } 54 55 func (a *AccessTokenRequestApiService) AccessTokenRequest(ctx context.Context, grantType string, nfInstanceId string, scope string, localVarOptionals *AccessTokenRequestParamOpts) (models.AccessTokenRsp, *http.Response, error) { 56 var ( 57 localVarHTTPMethod = strings.ToUpper("Post") 58 localVarPostBody interface{} 59 localVarFormFileName string 60 localVarFileName string 61 localVarFileBytes []byte 62 localVarReturnValue models.AccessTokenRsp 63 ) 64 65 // create path and map variables 66 localVarPath := a.client.cfg.BasePath() + "/oauth2/token" 67 68 localVarHeaderParams := make(map[string]string) 69 localVarQueryParams := url.Values{} 70 localVarFormParams := url.Values{} 71 72 localVarHTTPContentTypes := []string{"application/x-www-form-urlencoded"} 73 74 localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes' 75 76 // to determine the Accept header 77 localVarHTTPHeaderAccepts := []string{"application/json"} 78 79 // set Accept header 80 localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts) 81 if localVarHTTPHeaderAccept != "" { 82 localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept 83 } 84 85 localVarFormParams.Add("grant_type", openapi.ParameterToString(grantType, "")) 86 localVarFormParams.Add("nfInstanceId", openapi.ParameterToString(nfInstanceId, "")) 87 if localVarOptionals != nil && localVarOptionals.NfType.IsSet() { 88 localVarFormParams.Add("nfType", openapi.ParameterToString(localVarOptionals.NfType.Value(), "")) 89 } 90 if localVarOptionals != nil && localVarOptionals.TargetNfType.IsSet() { 91 localVarFormParams.Add("targetNfType", openapi.ParameterToString(localVarOptionals.TargetNfType.Value(), "")) 92 } 93 localVarFormParams.Add("scope", openapi.ParameterToString(scope, "")) 94 if localVarOptionals != nil && localVarOptionals.TargetNfInstanceId.IsSet() { 95 localVarFormParams.Add("targetNfInstanceId", openapi.ParameterToString(localVarOptionals.TargetNfInstanceId.Value(), "")) 96 } 97 if localVarOptionals != nil && localVarOptionals.RequesterPlmn.IsSet() { 98 localVarFormParams.Add("requesterPlmn", openapi.ParameterToString(localVarOptionals.RequesterPlmn.Value(), "")) 99 } 100 if localVarOptionals != nil && localVarOptionals.TargetPlmn.IsSet() { 101 localVarFormParams.Add("targetPlmn", openapi.ParameterToString(localVarOptionals.TargetPlmn.Value(), "")) 102 } 103 104 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 105 if err != nil { 106 return localVarReturnValue, nil, err 107 } 108 109 localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r) 110 if err != nil || localVarHTTPResponse == nil { 111 return localVarReturnValue, localVarHTTPResponse, err 112 } 113 114 localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body) 115 localVarHTTPResponse.Body.Close() 116 if err != nil { 117 return localVarReturnValue, localVarHTTPResponse, err 118 } 119 120 apiError := openapi.GenericOpenAPIError{ 121 RawBody: localVarBody, 122 ErrorStatus: localVarHTTPResponse.Status, 123 } 124 125 switch localVarHTTPResponse.StatusCode { 126 case 200: 127 err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 128 if err != nil { 129 apiError.ErrorStatus = err.Error() 130 } 131 return localVarReturnValue, localVarHTTPResponse, nil 132 case 400: 133 var v models.AccessTokenErr 134 err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) 135 if err != nil { 136 apiError.ErrorStatus = err.Error() 137 return localVarReturnValue, localVarHTTPResponse, apiError 138 } 139 apiError.ErrorModel = v 140 return localVarReturnValue, localVarHTTPResponse, apiError 141 default: 142 return localVarReturnValue, localVarHTTPResponse, openapi.ReportError("%d is not a valid status code in AccessTokenRequest", localVarHTTPResponse.StatusCode) 143 } 144 }