github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/fake/firewallpolicydrafts_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/resourcemanager/network/armnetwork/v6" 19 "net/http" 20 "net/url" 21 "regexp" 22 ) 23 24 // FirewallPolicyDraftsServer is a fake server for instances of the armnetwork.FirewallPolicyDraftsClient type. 25 type FirewallPolicyDraftsServer struct { 26 // CreateOrUpdate is the fake for method FirewallPolicyDraftsClient.CreateOrUpdate 27 // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated 28 CreateOrUpdate func(ctx context.Context, resourceGroupName string, firewallPolicyName string, parameters armnetwork.FirewallPolicyDraft, options *armnetwork.FirewallPolicyDraftsClientCreateOrUpdateOptions) (resp azfake.Responder[armnetwork.FirewallPolicyDraftsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) 29 30 // Delete is the fake for method FirewallPolicyDraftsClient.Delete 31 // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent 32 Delete func(ctx context.Context, resourceGroupName string, firewallPolicyName string, options *armnetwork.FirewallPolicyDraftsClientDeleteOptions) (resp azfake.Responder[armnetwork.FirewallPolicyDraftsClientDeleteResponse], errResp azfake.ErrorResponder) 33 34 // Get is the fake for method FirewallPolicyDraftsClient.Get 35 // HTTP status codes to indicate success: http.StatusOK 36 Get func(ctx context.Context, resourceGroupName string, firewallPolicyName string, options *armnetwork.FirewallPolicyDraftsClientGetOptions) (resp azfake.Responder[armnetwork.FirewallPolicyDraftsClientGetResponse], errResp azfake.ErrorResponder) 37 } 38 39 // NewFirewallPolicyDraftsServerTransport creates a new instance of FirewallPolicyDraftsServerTransport with the provided implementation. 40 // The returned FirewallPolicyDraftsServerTransport instance is connected to an instance of armnetwork.FirewallPolicyDraftsClient via the 41 // azcore.ClientOptions.Transporter field in the client's constructor parameters. 42 func NewFirewallPolicyDraftsServerTransport(srv *FirewallPolicyDraftsServer) *FirewallPolicyDraftsServerTransport { 43 return &FirewallPolicyDraftsServerTransport{srv: srv} 44 } 45 46 // FirewallPolicyDraftsServerTransport connects instances of armnetwork.FirewallPolicyDraftsClient to instances of FirewallPolicyDraftsServer. 47 // Don't use this type directly, use NewFirewallPolicyDraftsServerTransport instead. 48 type FirewallPolicyDraftsServerTransport struct { 49 srv *FirewallPolicyDraftsServer 50 } 51 52 // Do implements the policy.Transporter interface for FirewallPolicyDraftsServerTransport. 53 func (f *FirewallPolicyDraftsServerTransport) Do(req *http.Request) (*http.Response, error) { 54 rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) 55 method, ok := rawMethod.(string) 56 if !ok { 57 return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} 58 } 59 60 var resp *http.Response 61 var err error 62 63 switch method { 64 case "FirewallPolicyDraftsClient.CreateOrUpdate": 65 resp, err = f.dispatchCreateOrUpdate(req) 66 case "FirewallPolicyDraftsClient.Delete": 67 resp, err = f.dispatchDelete(req) 68 case "FirewallPolicyDraftsClient.Get": 69 resp, err = f.dispatchGet(req) 70 default: 71 err = fmt.Errorf("unhandled API %s", method) 72 } 73 74 if err != nil { 75 return nil, err 76 } 77 78 return resp, nil 79 } 80 81 func (f *FirewallPolicyDraftsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { 82 if f.srv.CreateOrUpdate == nil { 83 return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} 84 } 85 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/firewallPolicies/(?P<firewallPolicyName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/firewallPolicyDrafts/default` 86 regex := regexp.MustCompile(regexStr) 87 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 88 if matches == nil || len(matches) < 3 { 89 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 90 } 91 body, err := server.UnmarshalRequestAsJSON[armnetwork.FirewallPolicyDraft](req) 92 if err != nil { 93 return nil, err 94 } 95 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 96 if err != nil { 97 return nil, err 98 } 99 firewallPolicyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallPolicyName")]) 100 if err != nil { 101 return nil, err 102 } 103 respr, errRespr := f.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, firewallPolicyNameParam, body, nil) 104 if respErr := server.GetError(errRespr, req); respErr != nil { 105 return nil, respErr 106 } 107 respContent := server.GetResponseContent(respr) 108 if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { 109 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} 110 } 111 resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).FirewallPolicyDraft, req) 112 if err != nil { 113 return nil, err 114 } 115 return resp, nil 116 } 117 118 func (f *FirewallPolicyDraftsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { 119 if f.srv.Delete == nil { 120 return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} 121 } 122 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/firewallPolicies/(?P<firewallPolicyName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/firewallPolicyDrafts/default` 123 regex := regexp.MustCompile(regexStr) 124 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 125 if matches == nil || len(matches) < 3 { 126 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 127 } 128 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 129 if err != nil { 130 return nil, err 131 } 132 firewallPolicyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallPolicyName")]) 133 if err != nil { 134 return nil, err 135 } 136 respr, errRespr := f.srv.Delete(req.Context(), resourceGroupNameParam, firewallPolicyNameParam, nil) 137 if respErr := server.GetError(errRespr, req); respErr != nil { 138 return nil, respErr 139 } 140 respContent := server.GetResponseContent(respr) 141 if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { 142 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} 143 } 144 resp, err := server.NewResponse(respContent, req, nil) 145 if err != nil { 146 return nil, err 147 } 148 return resp, nil 149 } 150 151 func (f *FirewallPolicyDraftsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { 152 if f.srv.Get == nil { 153 return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} 154 } 155 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/firewallPolicies/(?P<firewallPolicyName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/firewallPolicyDrafts/default` 156 regex := regexp.MustCompile(regexStr) 157 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 158 if matches == nil || len(matches) < 3 { 159 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 160 } 161 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 162 if err != nil { 163 return nil, err 164 } 165 firewallPolicyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallPolicyName")]) 166 if err != nil { 167 return nil, err 168 } 169 respr, errRespr := f.srv.Get(req.Context(), resourceGroupNameParam, firewallPolicyNameParam, nil) 170 if respErr := server.GetError(errRespr, req); respErr != nil { 171 return nil, respErr 172 } 173 respContent := server.GetResponseContent(respr) 174 if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { 175 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} 176 } 177 resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).FirewallPolicyDraft, req) 178 if err != nil { 179 return nil, err 180 } 181 return resp, nil 182 }