github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/fake/azurefirewalls_server.go (about) 1 //go:build go1.18 2 // +build go1.18 3 4 // Copyright (c) Microsoft Corporation. All rights reserved. 5 // Licensed under the MIT License. See License.txt in the project root for license information. 6 // Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. 7 // Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9 package fake 10 11 import ( 12 "context" 13 "errors" 14 "fmt" 15 azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" 16 "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" 17 "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" 18 "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" 19 "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6" 20 "net/http" 21 "net/url" 22 "regexp" 23 ) 24 25 // AzureFirewallsServer is a fake server for instances of the armnetwork.AzureFirewallsClient type. 26 type AzureFirewallsServer struct { 27 // BeginCreateOrUpdate is the fake for method AzureFirewallsClient.BeginCreateOrUpdate 28 // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated 29 BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters armnetwork.AzureFirewall, options *armnetwork.AzureFirewallsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) 30 31 // BeginDelete is the fake for method AzureFirewallsClient.BeginDelete 32 // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent 33 BeginDelete func(ctx context.Context, resourceGroupName string, azureFirewallName string, options *armnetwork.AzureFirewallsClientBeginDeleteOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientDeleteResponse], errResp azfake.ErrorResponder) 34 35 // Get is the fake for method AzureFirewallsClient.Get 36 // HTTP status codes to indicate success: http.StatusOK 37 Get func(ctx context.Context, resourceGroupName string, azureFirewallName string, options *armnetwork.AzureFirewallsClientGetOptions) (resp azfake.Responder[armnetwork.AzureFirewallsClientGetResponse], errResp azfake.ErrorResponder) 38 39 // NewListPager is the fake for method AzureFirewallsClient.NewListPager 40 // HTTP status codes to indicate success: http.StatusOK 41 NewListPager func(resourceGroupName string, options *armnetwork.AzureFirewallsClientListOptions) (resp azfake.PagerResponder[armnetwork.AzureFirewallsClientListResponse]) 42 43 // NewListAllPager is the fake for method AzureFirewallsClient.NewListAllPager 44 // HTTP status codes to indicate success: http.StatusOK 45 NewListAllPager func(options *armnetwork.AzureFirewallsClientListAllOptions) (resp azfake.PagerResponder[armnetwork.AzureFirewallsClientListAllResponse]) 46 47 // BeginListLearnedPrefixes is the fake for method AzureFirewallsClient.BeginListLearnedPrefixes 48 // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted 49 BeginListLearnedPrefixes func(ctx context.Context, resourceGroupName string, azureFirewallName string, options *armnetwork.AzureFirewallsClientBeginListLearnedPrefixesOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientListLearnedPrefixesResponse], errResp azfake.ErrorResponder) 50 51 // BeginPacketCapture is the fake for method AzureFirewallsClient.BeginPacketCapture 52 // HTTP status codes to indicate success: http.StatusAccepted 53 BeginPacketCapture func(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters armnetwork.FirewallPacketCaptureParameters, options *armnetwork.AzureFirewallsClientBeginPacketCaptureOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientPacketCaptureResponse], errResp azfake.ErrorResponder) 54 55 // BeginUpdateTags is the fake for method AzureFirewallsClient.BeginUpdateTags 56 // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted 57 BeginUpdateTags func(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters armnetwork.TagsObject, options *armnetwork.AzureFirewallsClientBeginUpdateTagsOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientUpdateTagsResponse], errResp azfake.ErrorResponder) 58 } 59 60 // NewAzureFirewallsServerTransport creates a new instance of AzureFirewallsServerTransport with the provided implementation. 61 // The returned AzureFirewallsServerTransport instance is connected to an instance of armnetwork.AzureFirewallsClient via the 62 // azcore.ClientOptions.Transporter field in the client's constructor parameters. 63 func NewAzureFirewallsServerTransport(srv *AzureFirewallsServer) *AzureFirewallsServerTransport { 64 return &AzureFirewallsServerTransport{ 65 srv: srv, 66 beginCreateOrUpdate: newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientCreateOrUpdateResponse]](), 67 beginDelete: newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientDeleteResponse]](), 68 newListPager: newTracker[azfake.PagerResponder[armnetwork.AzureFirewallsClientListResponse]](), 69 newListAllPager: newTracker[azfake.PagerResponder[armnetwork.AzureFirewallsClientListAllResponse]](), 70 beginListLearnedPrefixes: newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientListLearnedPrefixesResponse]](), 71 beginPacketCapture: newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientPacketCaptureResponse]](), 72 beginUpdateTags: newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientUpdateTagsResponse]](), 73 } 74 } 75 76 // AzureFirewallsServerTransport connects instances of armnetwork.AzureFirewallsClient to instances of AzureFirewallsServer. 77 // Don't use this type directly, use NewAzureFirewallsServerTransport instead. 78 type AzureFirewallsServerTransport struct { 79 srv *AzureFirewallsServer 80 beginCreateOrUpdate *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientCreateOrUpdateResponse]] 81 beginDelete *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientDeleteResponse]] 82 newListPager *tracker[azfake.PagerResponder[armnetwork.AzureFirewallsClientListResponse]] 83 newListAllPager *tracker[azfake.PagerResponder[armnetwork.AzureFirewallsClientListAllResponse]] 84 beginListLearnedPrefixes *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientListLearnedPrefixesResponse]] 85 beginPacketCapture *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientPacketCaptureResponse]] 86 beginUpdateTags *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientUpdateTagsResponse]] 87 } 88 89 // Do implements the policy.Transporter interface for AzureFirewallsServerTransport. 90 func (a *AzureFirewallsServerTransport) Do(req *http.Request) (*http.Response, error) { 91 rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) 92 method, ok := rawMethod.(string) 93 if !ok { 94 return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} 95 } 96 97 var resp *http.Response 98 var err error 99 100 switch method { 101 case "AzureFirewallsClient.BeginCreateOrUpdate": 102 resp, err = a.dispatchBeginCreateOrUpdate(req) 103 case "AzureFirewallsClient.BeginDelete": 104 resp, err = a.dispatchBeginDelete(req) 105 case "AzureFirewallsClient.Get": 106 resp, err = a.dispatchGet(req) 107 case "AzureFirewallsClient.NewListPager": 108 resp, err = a.dispatchNewListPager(req) 109 case "AzureFirewallsClient.NewListAllPager": 110 resp, err = a.dispatchNewListAllPager(req) 111 case "AzureFirewallsClient.BeginListLearnedPrefixes": 112 resp, err = a.dispatchBeginListLearnedPrefixes(req) 113 case "AzureFirewallsClient.BeginPacketCapture": 114 resp, err = a.dispatchBeginPacketCapture(req) 115 case "AzureFirewallsClient.BeginUpdateTags": 116 resp, err = a.dispatchBeginUpdateTags(req) 117 default: 118 err = fmt.Errorf("unhandled API %s", method) 119 } 120 121 if err != nil { 122 return nil, err 123 } 124 125 return resp, nil 126 } 127 128 func (a *AzureFirewallsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { 129 if a.srv.BeginCreateOrUpdate == nil { 130 return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} 131 } 132 beginCreateOrUpdate := a.beginCreateOrUpdate.get(req) 133 if beginCreateOrUpdate == nil { 134 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` 135 regex := regexp.MustCompile(regexStr) 136 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 137 if matches == nil || len(matches) < 3 { 138 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 139 } 140 body, err := server.UnmarshalRequestAsJSON[armnetwork.AzureFirewall](req) 141 if err != nil { 142 return nil, err 143 } 144 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 145 if err != nil { 146 return nil, err 147 } 148 azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")]) 149 if err != nil { 150 return nil, err 151 } 152 respr, errRespr := a.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, azureFirewallNameParam, body, nil) 153 if respErr := server.GetError(errRespr, req); respErr != nil { 154 return nil, respErr 155 } 156 beginCreateOrUpdate = &respr 157 a.beginCreateOrUpdate.add(req, beginCreateOrUpdate) 158 } 159 160 resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) 161 if err != nil { 162 return nil, err 163 } 164 165 if !contains([]int{http.StatusOK, http.StatusCreated}, resp.StatusCode) { 166 a.beginCreateOrUpdate.remove(req) 167 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", resp.StatusCode)} 168 } 169 if !server.PollerResponderMore(beginCreateOrUpdate) { 170 a.beginCreateOrUpdate.remove(req) 171 } 172 173 return resp, nil 174 } 175 176 func (a *AzureFirewallsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { 177 if a.srv.BeginDelete == nil { 178 return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} 179 } 180 beginDelete := a.beginDelete.get(req) 181 if beginDelete == nil { 182 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` 183 regex := regexp.MustCompile(regexStr) 184 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 185 if matches == nil || len(matches) < 3 { 186 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 187 } 188 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 189 if err != nil { 190 return nil, err 191 } 192 azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")]) 193 if err != nil { 194 return nil, err 195 } 196 respr, errRespr := a.srv.BeginDelete(req.Context(), resourceGroupNameParam, azureFirewallNameParam, nil) 197 if respErr := server.GetError(errRespr, req); respErr != nil { 198 return nil, respErr 199 } 200 beginDelete = &respr 201 a.beginDelete.add(req, beginDelete) 202 } 203 204 resp, err := server.PollerResponderNext(beginDelete, req) 205 if err != nil { 206 return nil, err 207 } 208 209 if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { 210 a.beginDelete.remove(req) 211 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} 212 } 213 if !server.PollerResponderMore(beginDelete) { 214 a.beginDelete.remove(req) 215 } 216 217 return resp, nil 218 } 219 220 func (a *AzureFirewallsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { 221 if a.srv.Get == nil { 222 return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} 223 } 224 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` 225 regex := regexp.MustCompile(regexStr) 226 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 227 if matches == nil || len(matches) < 3 { 228 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 229 } 230 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 231 if err != nil { 232 return nil, err 233 } 234 azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")]) 235 if err != nil { 236 return nil, err 237 } 238 respr, errRespr := a.srv.Get(req.Context(), resourceGroupNameParam, azureFirewallNameParam, nil) 239 if respErr := server.GetError(errRespr, req); respErr != nil { 240 return nil, respErr 241 } 242 respContent := server.GetResponseContent(respr) 243 if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { 244 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} 245 } 246 resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).AzureFirewall, req) 247 if err != nil { 248 return nil, err 249 } 250 return resp, nil 251 } 252 253 func (a *AzureFirewallsServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { 254 if a.srv.NewListPager == nil { 255 return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} 256 } 257 newListPager := a.newListPager.get(req) 258 if newListPager == nil { 259 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls` 260 regex := regexp.MustCompile(regexStr) 261 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 262 if matches == nil || len(matches) < 2 { 263 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 264 } 265 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 266 if err != nil { 267 return nil, err 268 } 269 resp := a.srv.NewListPager(resourceGroupNameParam, nil) 270 newListPager = &resp 271 a.newListPager.add(req, newListPager) 272 server.PagerResponderInjectNextLinks(newListPager, req, func(page *armnetwork.AzureFirewallsClientListResponse, createLink func() string) { 273 page.NextLink = to.Ptr(createLink()) 274 }) 275 } 276 resp, err := server.PagerResponderNext(newListPager, req) 277 if err != nil { 278 return nil, err 279 } 280 if !contains([]int{http.StatusOK}, resp.StatusCode) { 281 a.newListPager.remove(req) 282 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} 283 } 284 if !server.PagerResponderMore(newListPager) { 285 a.newListPager.remove(req) 286 } 287 return resp, nil 288 } 289 290 func (a *AzureFirewallsServerTransport) dispatchNewListAllPager(req *http.Request) (*http.Response, error) { 291 if a.srv.NewListAllPager == nil { 292 return nil, &nonRetriableError{errors.New("fake for method NewListAllPager not implemented")} 293 } 294 newListAllPager := a.newListAllPager.get(req) 295 if newListAllPager == nil { 296 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls` 297 regex := regexp.MustCompile(regexStr) 298 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 299 if matches == nil || len(matches) < 1 { 300 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 301 } 302 resp := a.srv.NewListAllPager(nil) 303 newListAllPager = &resp 304 a.newListAllPager.add(req, newListAllPager) 305 server.PagerResponderInjectNextLinks(newListAllPager, req, func(page *armnetwork.AzureFirewallsClientListAllResponse, createLink func() string) { 306 page.NextLink = to.Ptr(createLink()) 307 }) 308 } 309 resp, err := server.PagerResponderNext(newListAllPager, req) 310 if err != nil { 311 return nil, err 312 } 313 if !contains([]int{http.StatusOK}, resp.StatusCode) { 314 a.newListAllPager.remove(req) 315 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} 316 } 317 if !server.PagerResponderMore(newListAllPager) { 318 a.newListAllPager.remove(req) 319 } 320 return resp, nil 321 } 322 323 func (a *AzureFirewallsServerTransport) dispatchBeginListLearnedPrefixes(req *http.Request) (*http.Response, error) { 324 if a.srv.BeginListLearnedPrefixes == nil { 325 return nil, &nonRetriableError{errors.New("fake for method BeginListLearnedPrefixes not implemented")} 326 } 327 beginListLearnedPrefixes := a.beginListLearnedPrefixes.get(req) 328 if beginListLearnedPrefixes == nil { 329 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/learnedIPPrefixes` 330 regex := regexp.MustCompile(regexStr) 331 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 332 if matches == nil || len(matches) < 3 { 333 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 334 } 335 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 336 if err != nil { 337 return nil, err 338 } 339 azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")]) 340 if err != nil { 341 return nil, err 342 } 343 respr, errRespr := a.srv.BeginListLearnedPrefixes(req.Context(), resourceGroupNameParam, azureFirewallNameParam, nil) 344 if respErr := server.GetError(errRespr, req); respErr != nil { 345 return nil, respErr 346 } 347 beginListLearnedPrefixes = &respr 348 a.beginListLearnedPrefixes.add(req, beginListLearnedPrefixes) 349 } 350 351 resp, err := server.PollerResponderNext(beginListLearnedPrefixes, req) 352 if err != nil { 353 return nil, err 354 } 355 356 if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { 357 a.beginListLearnedPrefixes.remove(req) 358 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} 359 } 360 if !server.PollerResponderMore(beginListLearnedPrefixes) { 361 a.beginListLearnedPrefixes.remove(req) 362 } 363 364 return resp, nil 365 } 366 367 func (a *AzureFirewallsServerTransport) dispatchBeginPacketCapture(req *http.Request) (*http.Response, error) { 368 if a.srv.BeginPacketCapture == nil { 369 return nil, &nonRetriableError{errors.New("fake for method BeginPacketCapture not implemented")} 370 } 371 beginPacketCapture := a.beginPacketCapture.get(req) 372 if beginPacketCapture == nil { 373 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/packetCapture` 374 regex := regexp.MustCompile(regexStr) 375 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 376 if matches == nil || len(matches) < 3 { 377 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 378 } 379 body, err := server.UnmarshalRequestAsJSON[armnetwork.FirewallPacketCaptureParameters](req) 380 if err != nil { 381 return nil, err 382 } 383 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 384 if err != nil { 385 return nil, err 386 } 387 azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")]) 388 if err != nil { 389 return nil, err 390 } 391 respr, errRespr := a.srv.BeginPacketCapture(req.Context(), resourceGroupNameParam, azureFirewallNameParam, body, nil) 392 if respErr := server.GetError(errRespr, req); respErr != nil { 393 return nil, respErr 394 } 395 beginPacketCapture = &respr 396 a.beginPacketCapture.add(req, beginPacketCapture) 397 } 398 399 resp, err := server.PollerResponderNext(beginPacketCapture, req) 400 if err != nil { 401 return nil, err 402 } 403 404 if !contains([]int{http.StatusAccepted}, resp.StatusCode) { 405 a.beginPacketCapture.remove(req) 406 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusAccepted", resp.StatusCode)} 407 } 408 if !server.PollerResponderMore(beginPacketCapture) { 409 a.beginPacketCapture.remove(req) 410 } 411 412 return resp, nil 413 } 414 415 func (a *AzureFirewallsServerTransport) dispatchBeginUpdateTags(req *http.Request) (*http.Response, error) { 416 if a.srv.BeginUpdateTags == nil { 417 return nil, &nonRetriableError{errors.New("fake for method BeginUpdateTags not implemented")} 418 } 419 beginUpdateTags := a.beginUpdateTags.get(req) 420 if beginUpdateTags == nil { 421 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` 422 regex := regexp.MustCompile(regexStr) 423 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 424 if matches == nil || len(matches) < 3 { 425 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 426 } 427 body, err := server.UnmarshalRequestAsJSON[armnetwork.TagsObject](req) 428 if err != nil { 429 return nil, err 430 } 431 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 432 if err != nil { 433 return nil, err 434 } 435 azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")]) 436 if err != nil { 437 return nil, err 438 } 439 respr, errRespr := a.srv.BeginUpdateTags(req.Context(), resourceGroupNameParam, azureFirewallNameParam, body, nil) 440 if respErr := server.GetError(errRespr, req); respErr != nil { 441 return nil, respErr 442 } 443 beginUpdateTags = &respr 444 a.beginUpdateTags.add(req, beginUpdateTags) 445 } 446 447 resp, err := server.PollerResponderNext(beginUpdateTags, req) 448 if err != nil { 449 return nil, err 450 } 451 452 if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { 453 a.beginUpdateTags.remove(req) 454 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} 455 } 456 if !server.PollerResponderMore(beginUpdateTags) { 457 a.beginUpdateTags.remove(req) 458 } 459 460 return resp, nil 461 }