Skip to content

Commit ca606dc

Browse files
authored
LoadBalancer V2: use map ptr for insert headers (#1837)
* LoadBalancer V2: use map ptr for insert headers Use pointer to a map to allow unsetting headers for listener. * LoadBalancer V2: check empty insert headers Update TestLoadbalancersCRUD to check empty insert headers map.
1 parent a7a1d21 commit ca606dc

3 files changed

Lines changed: 11 additions & 7 deletions

File tree

acceptance/openstack/loadbalancer/v2/loadbalancers_test.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ func TestLoadbalancersCRUD(t *testing.T) {
174174
updateListenerOpts := listeners.UpdateOpts{
175175
Name: &listenerName,
176176
Description: &listenerDescription,
177-
InsertHeaders: listenerHeaders,
177+
InsertHeaders: &listenerHeaders,
178178
}
179179
_, err = listeners.Update(lbClient, listener.ID, updateListenerOpts).Extract()
180180
th.AssertNoErr(t, err)
@@ -303,9 +303,11 @@ func TestLoadbalancersCRUD(t *testing.T) {
303303
defer DeleteL7Policy(t, lbClient, lb.ID, policy.ID)
304304
defer DeleteL7Rule(t, lbClient, lb.ID, policy.ID, rule.ID)
305305

306-
// Update listener's default pool ID
306+
// Update listener's default pool ID and remove headers
307+
listenerHeaders = map[string]string{}
307308
updateListenerOpts = listeners.UpdateOpts{
308309
DefaultPoolID: &pool.ID,
310+
InsertHeaders: &listenerHeaders,
309311
}
310312
_, err = listeners.Update(lbClient, listener.ID, updateListenerOpts).Extract()
311313
th.AssertNoErr(t, err)
@@ -320,6 +322,7 @@ func TestLoadbalancersCRUD(t *testing.T) {
320322
tools.PrintResource(t, newListener)
321323

322324
th.AssertEquals(t, newListener.DefaultPoolID, pool.ID)
325+
th.AssertDeepEquals(t, newListener.InsertHeaders, listenerHeaders)
323326

324327
// Remove listener's default pool ID
325328
emptyPoolID := ""

openstack/loadbalancer/v2/listeners/requests.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ type UpdateOpts struct {
207207
TimeoutTCPInspect *int `json:"timeout_tcp_inspect,omitempty"`
208208

209209
// A dictionary of optional headers to insert into the request before it is sent to the backend member.
210-
InsertHeaders map[string]string `json:"insert_headers,omitempty"`
210+
InsertHeaders *map[string]string `json:"insert_headers,omitempty"`
211211

212212
// A list of IPv4, IPv6 or mix of both CIDRs
213213
AllowedCIDRs *[]string `json:"allowed_cidrs,omitempty"`

openstack/loadbalancer/v2/listeners/testing/requests_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,10 @@ func TestUpdateListener(t *testing.T) {
130130
i181000 := 181000
131131
name := "NewListenerName"
132132
defaultPoolID := ""
133+
insertHeaders := map[string]string{
134+
"X-Forwarded-For": "true",
135+
"X-Forwarded-Port": "false",
136+
}
133137
actual, err := listeners.Update(client, "4ec89087-d057-4e2c-911f-60a3b47ee304", listeners.UpdateOpts{
134138
Name: &name,
135139
ConnLimit: &i1001,
@@ -138,10 +142,7 @@ func TestUpdateListener(t *testing.T) {
138142
TimeoutClientData: &i181000,
139143
TimeoutMemberConnect: &i181000,
140144
TimeoutTCPInspect: &i181000,
141-
InsertHeaders: map[string]string{
142-
"X-Forwarded-For": "true",
143-
"X-Forwarded-Port": "false",
144-
},
145+
InsertHeaders: &insertHeaders,
145146
}).Extract()
146147
if err != nil {
147148
t.Fatalf("Unexpected Update error: %v", err)

0 commit comments

Comments
 (0)