Skip to content

Commit 28ed5f1

Browse files
committed
MAJOR: bind: add parentName, parentType to support bind in frontend and log-forward sections
1 parent cb26caf commit 28ed5f1

12 files changed

+691
-76
lines changed

embedded_spec.go

Lines changed: 170 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

handlers/bind.go

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
package handlers
1717

1818
import (
19+
"fmt"
20+
1921
"github.com/go-openapi/runtime/middleware"
2022
client_native "github.com/haproxytech/client-native/v3"
2123
"github.com/haproxytech/client-native/v3/models"
@@ -53,6 +55,19 @@ type ReplaceBindHandlerImpl struct {
5355
ReloadAgent haproxy.IReloadAgent
5456
}
5557

58+
func bindTypeParams(frontend *string, parentType *string, parentName *string) (pType string, pName string, err error) {
59+
if frontend != nil && *frontend != "" {
60+
return "frontend", *frontend, nil
61+
}
62+
if parentType == nil || *parentType == "" {
63+
return "", "", fmt.Errorf("parentType empty")
64+
}
65+
if parentName == nil || *parentName == "" {
66+
return "", "", fmt.Errorf("parentName empty")
67+
}
68+
return *parentType, *parentName, nil
69+
}
70+
5671
// Handle executing the request and returning a response
5772
func (h *CreateBindHandlerImpl) Handle(params bind.CreateBindParams, principal interface{}) middleware.Responder {
5873
t := ""
@@ -80,7 +95,12 @@ func (h *CreateBindHandlerImpl) Handle(params bind.CreateBindParams, principal i
8095
return bind.NewCreateBindDefault(int(*e.Code)).WithPayload(e)
8196
}
8297

83-
err = configuration.CreateBind(params.Frontend, params.Data, t, v)
98+
pType, pName, err := bindTypeParams(params.Frontend, params.ParentType, params.ParentName)
99+
if err != nil {
100+
e := misc.HandleError(err)
101+
return bind.NewCreateBindDefault(int(*e.Code)).WithPayload(e)
102+
}
103+
err = configuration.CreateBind(pType, pName, params.Data, t, v)
84104
if err != nil {
85105
e := misc.HandleError(err)
86106
return bind.NewCreateBindDefault(int(*e.Code)).WithPayload(e)
@@ -127,7 +147,12 @@ func (h *DeleteBindHandlerImpl) Handle(params bind.DeleteBindParams, principal i
127147
return bind.NewDeleteBindDefault(int(*e.Code)).WithPayload(e)
128148
}
129149

130-
err = configuration.DeleteBind(params.Name, params.Frontend, t, v)
150+
pType, pName, err := bindTypeParams(params.Frontend, params.ParentType, params.ParentName)
151+
if err != nil {
152+
e := misc.HandleError(err)
153+
return bind.NewDeleteBindDefault(int(*e.Code)).WithPayload(e)
154+
}
155+
err = configuration.DeleteBind(params.Name, pType, pName, t, v)
131156
if err != nil {
132157
e := misc.HandleError(err)
133158
return bind.NewDeleteBindDefault(int(*e.Code)).WithPayload(e)
@@ -160,7 +185,12 @@ func (h *GetBindHandlerImpl) Handle(params bind.GetBindParams, principal interfa
160185
return bind.NewGetBindDefault(int(*e.Code)).WithPayload(e)
161186
}
162187

163-
v, b, err := configuration.GetBind(params.Name, params.Frontend, t)
188+
pType, pName, err := bindTypeParams(params.Frontend, params.ParentType, params.ParentName)
189+
if err != nil {
190+
e := misc.HandleError(err)
191+
return bind.NewGetBindDefault(int(*e.Code)).WithPayload(e)
192+
}
193+
v, b, err := configuration.GetBind(params.Name, pType, pName, t)
164194
if err != nil {
165195
e := misc.HandleError(err)
166196
return bind.NewGetBindDefault(int(*e.Code)).WithPayload(e)
@@ -181,7 +211,12 @@ func (h *GetBindsHandlerImpl) Handle(params bind.GetBindsParams, principal inter
181211
return bind.NewGetBindsDefault(int(*e.Code)).WithPayload(e)
182212
}
183213

184-
v, bs, err := configuration.GetBinds(params.Frontend, t)
214+
pType, pName, err := bindTypeParams(params.Frontend, params.ParentType, params.ParentName)
215+
if err != nil {
216+
e := misc.HandleError(err)
217+
return bind.NewGetBindsDefault(int(*e.Code)).WithPayload(e)
218+
}
219+
v, bs, err := configuration.GetBinds(pType, pName, t)
185220
if err != nil {
186221
e := misc.HandleContainerGetError(err)
187222
if *e.Code == misc.ErrHTTPOk {
@@ -219,7 +254,12 @@ func (h *ReplaceBindHandlerImpl) Handle(params bind.ReplaceBindParams, principal
219254
return bind.NewReplaceBindDefault(int(*e.Code)).WithPayload(e)
220255
}
221256

222-
err = configuration.EditBind(params.Name, params.Frontend, params.Data, t, v)
257+
pType, pName, err := bindTypeParams(params.Frontend, params.ParentType, params.ParentName)
258+
if err != nil {
259+
e := misc.HandleError(err)
260+
return bind.NewReplaceBindDefault(int(*e.Code)).WithPayload(e)
261+
}
262+
err = configuration.EditBind(params.Name, pType, pName, params.Data, t, v)
223263
if err != nil {
224264
e := misc.HandleError(err)
225265
return bind.NewReplaceBindDefault(int(*e.Code)).WithPayload(e)

0 commit comments

Comments
 (0)