github.com/free5gc/openapi@v1.0.8/Nsmf_PDUSession/api_individual_pdu_session_hsmf.go (about) 1 /* 2 * Nsmf_PDUSession 3 * 4 * SMF PDU Session Service 5 * 6 * API version: 1.0.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package Nsmf_PDUSession 11 12 import ( 13 "context" 14 "fmt" 15 "io/ioutil" 16 "net/http" 17 "net/url" 18 "strings" 19 20 "github.com/antihax/optional" 21 22 "github.com/free5gc/openapi" 23 "github.com/free5gc/openapi/models" 24 ) 25 26 // Linger please 27 var ( 28 _ context.Context 29 ) 30 31 type IndividualPDUSessionHSMFApiService service 32 33 /* 34 IndividualPDUSessionHSMFApiService Release 35 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 36 * @param pduSessionRef PDU session reference 37 * @param optional nil or *ReleasePduSessionParamOpts - Optional Parameters: 38 * @param "ReleaseData" (optional.Interface of ReleaseData) - representation of the data to be sent to H-SMF when releasing the PDU session 39 */ 40 41 type ReleasePduSessionParamOpts struct { 42 ReleaseData optional.Interface 43 } 44 45 func (a *IndividualPDUSessionHSMFApiService) ReleasePduSession(ctx context.Context, pduSessionRef string, localVarOptionals *ReleasePduSessionParamOpts) (*http.Response, error) { 46 var ( 47 localVarHttpMethod = strings.ToUpper("Post") 48 localVarPostBody interface{} 49 localVarFormFileName string 50 localVarFileName string 51 localVarFileBytes []byte 52 ) 53 54 // create path and map variables 55 localVarPath := a.client.cfg.BasePath() + "/pdu-sessions/{pduSessionRef}/release" 56 localVarPath = strings.Replace(localVarPath, "{"+"pduSessionRef"+"}", fmt.Sprintf("%v", pduSessionRef), -1) 57 58 localVarHeaderParams := make(map[string]string) 59 localVarQueryParams := url.Values{} 60 localVarFormParams := url.Values{} 61 62 localVarHttpContentTypes := []string{"application/json"} 63 64 localVarHeaderParams["Content-Type"] = localVarHttpContentTypes[0] // use the first content type specified in 'consumes' 65 66 // to determine the Accept header 67 localVarHttpHeaderAccepts := []string{"application/problem+json"} 68 69 // set Accept header 70 localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts) 71 if localVarHttpHeaderAccept != "" { 72 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 73 } 74 75 // body params 76 if localVarOptionals != nil && localVarOptionals.ReleaseData.IsSet() { 77 localVarOptionalReleaseData, localVarOptionalReleaseDataok := localVarOptionals.ReleaseData.Value().(models.ReleaseData) 78 if !localVarOptionalReleaseDataok { 79 return nil, openapi.ReportError("releaseData should be ReleaseData") 80 } 81 localVarPostBody = &localVarOptionalReleaseData 82 } 83 84 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 85 if err != nil { 86 return nil, err 87 } 88 89 localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r) 90 if err != nil || localVarHttpResponse == nil { 91 return localVarHttpResponse, err 92 } 93 94 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 95 localVarHttpResponse.Body.Close() 96 if err != nil { 97 return localVarHttpResponse, err 98 } 99 100 apiError := openapi.GenericOpenAPIError{ 101 RawBody: localVarBody, 102 ErrorStatus: localVarHttpResponse.Status, 103 } 104 switch localVarHttpResponse.StatusCode { 105 case 204: 106 return localVarHttpResponse, nil 107 case 400: 108 var v models.ProblemDetails 109 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 110 if err != nil { 111 apiError.ErrorStatus = err.Error() 112 return localVarHttpResponse, apiError 113 } 114 apiError.ErrorModel = v 115 return localVarHttpResponse, apiError 116 case 403: 117 var v models.ProblemDetails 118 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 119 if err != nil { 120 apiError.ErrorStatus = err.Error() 121 return localVarHttpResponse, apiError 122 } 123 apiError.ErrorModel = v 124 return localVarHttpResponse, apiError 125 case 404: 126 var v models.ProblemDetails 127 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 128 if err != nil { 129 apiError.ErrorStatus = err.Error() 130 return localVarHttpResponse, apiError 131 } 132 apiError.ErrorModel = v 133 return localVarHttpResponse, apiError 134 case 411: 135 var v models.ProblemDetails 136 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 137 if err != nil { 138 apiError.ErrorStatus = err.Error() 139 return localVarHttpResponse, apiError 140 } 141 apiError.ErrorModel = v 142 return localVarHttpResponse, apiError 143 case 413: 144 var v models.ProblemDetails 145 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 146 if err != nil { 147 apiError.ErrorStatus = err.Error() 148 return localVarHttpResponse, apiError 149 } 150 apiError.ErrorModel = v 151 return localVarHttpResponse, apiError 152 case 415: 153 var v models.ProblemDetails 154 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 155 if err != nil { 156 apiError.ErrorStatus = err.Error() 157 return localVarHttpResponse, apiError 158 } 159 apiError.ErrorModel = v 160 return localVarHttpResponse, apiError 161 case 429: 162 var v models.ProblemDetails 163 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 164 if err != nil { 165 apiError.ErrorStatus = err.Error() 166 return localVarHttpResponse, apiError 167 } 168 apiError.ErrorModel = v 169 return localVarHttpResponse, apiError 170 case 500: 171 var v models.ProblemDetails 172 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 173 if err != nil { 174 apiError.ErrorStatus = err.Error() 175 return localVarHttpResponse, apiError 176 } 177 apiError.ErrorModel = v 178 return localVarHttpResponse, apiError 179 case 503: 180 var v models.ProblemDetails 181 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 182 if err != nil { 183 apiError.ErrorStatus = err.Error() 184 return localVarHttpResponse, apiError 185 } 186 apiError.ErrorModel = v 187 return localVarHttpResponse, apiError 188 default: 189 return localVarHttpResponse, openapi.ReportError("%d is not a valid status code in ReleasePduSession", localVarHttpResponse.StatusCode) 190 } 191 } 192 193 /* 194 IndividualPDUSessionHSMFApiService Update (initiated by V-SMF) 195 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 196 * @param pduSessionRef PDU session reference 197 * @param hsmfUpdateData representation of the updates to apply to the PDU session 198 @return HsmfUpdatedData 199 */ 200 201 func (a *IndividualPDUSessionHSMFApiService) UpdatePduSession(ctx context.Context, pduSessionRef string, updatePduSessionRequest models.UpdatePduSessionRequest) (models.UpdatePduSessionResponse, *http.Response, error) { 202 var ( 203 localVarHttpMethod = strings.ToUpper("Post") 204 localVarPostBody interface{} 205 localVarFormFileName string 206 localVarFileName string 207 localVarFileBytes []byte 208 localVarReturnValue models.UpdatePduSessionResponse 209 ) 210 211 // create path and map variables 212 localVarPath := a.client.cfg.BasePath() + "/pdu-sessions/{pduSessionRef}/modify" 213 localVarPath = strings.Replace(localVarPath, "{"+"pduSessionRef"+"}", fmt.Sprintf("%v", pduSessionRef), -1) 214 215 localVarHeaderParams := make(map[string]string) 216 localVarQueryParams := url.Values{} 217 localVarFormParams := url.Values{} 218 219 // to determine the request Content-Type header 220 if updatePduSessionRequest.BinaryDataN1SmInfoFromUe != nil || updatePduSessionRequest.BinaryDataUnknownN1SmInfo != nil { 221 localVarHeaderParams["Content-Type"] = "multipart/related" 222 localVarPostBody = &updatePduSessionRequest 223 } else { 224 localVarHeaderParams["Content-Type"] = "application/json" 225 localVarPostBody = updatePduSessionRequest.JsonData 226 } 227 228 // to determine the Accept header 229 localVarHttpHeaderAccepts := []string{"application/json", "multipart/related", "application/problem+json"} 230 231 // set Accept header 232 localVarHttpHeaderAccept := openapi.SelectHeaderAccept(localVarHttpHeaderAccepts) 233 if localVarHttpHeaderAccept != "" { 234 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 235 } 236 237 r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 238 if err != nil { 239 return localVarReturnValue, nil, err 240 } 241 242 localVarHttpResponse, err := openapi.CallAPI(a.client.cfg, r) 243 if err != nil || localVarHttpResponse == nil { 244 return localVarReturnValue, localVarHttpResponse, err 245 } 246 247 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 248 localVarHttpResponse.Body.Close() 249 if err != nil { 250 return localVarReturnValue, localVarHttpResponse, err 251 } 252 253 apiError := openapi.GenericOpenAPIError{ 254 RawBody: localVarBody, 255 ErrorStatus: localVarHttpResponse.Status, 256 } 257 switch localVarHttpResponse.StatusCode { 258 case 200: 259 err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 260 if err != nil { 261 apiError.ErrorStatus = err.Error() 262 } 263 return localVarReturnValue, localVarHttpResponse, nil 264 case 400: 265 var v models.UpdatePduSessionErrorResponse 266 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 267 if err != nil { 268 apiError.ErrorStatus = err.Error() 269 return localVarReturnValue, localVarHttpResponse, apiError 270 } 271 apiError.ErrorModel = v 272 return localVarReturnValue, localVarHttpResponse, apiError 273 case 403: 274 var v models.UpdatePduSessionErrorResponse 275 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 276 if err != nil { 277 apiError.ErrorStatus = err.Error() 278 return localVarReturnValue, localVarHttpResponse, apiError 279 } 280 apiError.ErrorModel = v 281 return localVarReturnValue, localVarHttpResponse, apiError 282 case 404: 283 var v models.UpdatePduSessionErrorResponse 284 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 285 if err != nil { 286 apiError.ErrorStatus = err.Error() 287 return localVarReturnValue, localVarHttpResponse, apiError 288 } 289 apiError.ErrorModel = v 290 return localVarReturnValue, localVarHttpResponse, apiError 291 case 411: 292 var v models.ProblemDetails 293 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 294 if err != nil { 295 apiError.ErrorStatus = err.Error() 296 return localVarReturnValue, localVarHttpResponse, apiError 297 } 298 apiError.ErrorModel = v 299 return localVarReturnValue, localVarHttpResponse, apiError 300 case 413: 301 var v models.ProblemDetails 302 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 303 if err != nil { 304 apiError.ErrorStatus = err.Error() 305 return localVarReturnValue, localVarHttpResponse, apiError 306 } 307 apiError.ErrorModel = v 308 return localVarReturnValue, localVarHttpResponse, apiError 309 case 415: 310 var v models.ProblemDetails 311 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 312 if err != nil { 313 apiError.ErrorStatus = err.Error() 314 return localVarReturnValue, localVarHttpResponse, apiError 315 } 316 apiError.ErrorModel = v 317 return localVarReturnValue, localVarHttpResponse, apiError 318 case 429: 319 var v models.ProblemDetails 320 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 321 if err != nil { 322 apiError.ErrorStatus = err.Error() 323 return localVarReturnValue, localVarHttpResponse, apiError 324 } 325 apiError.ErrorModel = v 326 return localVarReturnValue, localVarHttpResponse, apiError 327 case 500: 328 var v models.UpdatePduSessionErrorResponse 329 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 330 if err != nil { 331 apiError.ErrorStatus = err.Error() 332 return localVarReturnValue, localVarHttpResponse, apiError 333 } 334 apiError.ErrorModel = v 335 return localVarReturnValue, localVarHttpResponse, apiError 336 case 503: 337 var v models.UpdatePduSessionErrorResponse 338 err = openapi.Deserialize(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 339 if err != nil { 340 apiError.ErrorStatus = err.Error() 341 return localVarReturnValue, localVarHttpResponse, apiError 342 } 343 apiError.ErrorModel = v 344 return localVarReturnValue, localVarHttpResponse, apiError 345 default: 346 return localVarReturnValue, localVarHttpResponse, openapi.ReportError("%d is not a valid status code in UpdatePduSession", localVarHttpResponse.StatusCode) 347 } 348 }