16
16
package handlers
17
17
18
18
import (
19
- "fmt"
20
-
21
19
"github.com/go-openapi/runtime/middleware"
22
20
client_native "github.com/haproxytech/client-native/v2"
23
21
"github.com/haproxytech/dataplaneapi/misc"
24
22
"github.com/haproxytech/dataplaneapi/operations/maps"
25
- "github.com/haproxytech/models/v2"
26
23
)
27
24
28
25
//MapsCreateRuntimeMapHandlerImpl implementation of the MapsCreateRuntimeMapHandler interface using client-native client
@@ -39,8 +36,8 @@ func (h *MapsCreateRuntimeMapHandlerImpl) Handle(params maps.CreateRuntimeMapPar
39
36
40
37
me , err := h .Client .Runtime .CreateMap (file , * header )
41
38
if err != nil {
42
- e := misc .HandleError (err )
43
- return maps .NewCreateRuntimeMapDefault (int ( * e . Code )) .WithPayload (e )
39
+ status := misc .GetHTTPStatusFromErr (err )
40
+ return maps .NewCreateRuntimeMapDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
44
41
}
45
42
return maps .NewCreateRuntimeMapCreated ().WithPayload (me )
46
43
}
@@ -54,8 +51,8 @@ type GetMapsHandlerImpl struct {
54
51
func (h * GetMapsHandlerImpl ) Handle (params maps.GetAllRuntimeMapFilesParams , principal interface {}) middleware.Responder {
55
52
mapFiles , err := h .Client .Runtime .ShowMaps ()
56
53
if err != nil {
57
- e := misc .HandleError (err )
58
- return maps .NewShowRuntimeMapDefault (int ( * e . Code )) .WithPayload (e )
54
+ status := misc .GetHTTPStatusFromErr (err )
55
+ return maps .NewShowRuntimeMapDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
59
56
}
60
57
return maps .NewGetAllRuntimeMapFilesOK ().WithPayload (mapFiles )
61
58
}
@@ -68,8 +65,8 @@ type GetMapHandlerImpl struct {
68
65
func (h * GetMapHandlerImpl ) Handle (params maps.GetOneRuntimeMapParams , principal interface {}) middleware.Responder {
69
66
m , err := h .Client .Runtime .GetMap (params .Name )
70
67
if err != nil {
71
- e := misc .HandleError (err )
72
- return maps .NewGetOneRuntimeMapDefault (int ( * e . Code )) .WithPayload (e )
68
+ status := misc .GetHTTPStatusFromErr (err )
69
+ return maps .NewGetOneRuntimeMapDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
73
70
}
74
71
if m == nil {
75
72
return maps .NewGetOneRuntimeMapNotFound ()
@@ -89,8 +86,8 @@ func (h *ClearMapHandlerImpl) Handle(params maps.ClearRuntimeMapParams, principa
89
86
}
90
87
err := h .Client .Runtime .ClearMap (params .Name , forceDelete )
91
88
if err != nil {
92
- e := misc .HandleError (err )
93
- return maps .NewClearRuntimeMapDefault (int ( * e . Code )) .WithPayload (e )
89
+ status := misc .GetHTTPStatusFromErr (err )
90
+ return maps .NewClearRuntimeMapDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
94
91
}
95
92
return maps .NewClearRuntimeMapNoContent ()
96
93
}
@@ -103,8 +100,8 @@ type ShowMapHandlerImpl struct {
103
100
func (h * ShowMapHandlerImpl ) Handle (params maps.ShowRuntimeMapParams , principal interface {}) middleware.Responder {
104
101
m , err := h .Client .Runtime .ShowMapEntries (params .Map )
105
102
if err != nil {
106
- e := misc .HandleError (err )
107
- return maps .NewShowRuntimeMapDefault (int ( * e . Code )) .WithPayload (e )
103
+ status := misc .GetHTTPStatusFromErr (err )
104
+ return maps .NewShowRuntimeMapDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
108
105
}
109
106
if m == nil {
110
107
return maps .NewShowRuntimeMapNotFound ()
@@ -118,21 +115,10 @@ type AddMapEntryHandlerImpl struct {
118
115
}
119
116
120
117
func (h * AddMapEntryHandlerImpl ) Handle (params maps.AddMapEntryParams , principal interface {}) middleware.Responder {
121
- e , _ := h .Client .Runtime .GetMapEntry (params .Map , params .Data .Key )
122
- if e != nil {
123
- msg := fmt .Sprintf ("Entry with key %s already exists!" , params .Data .Key )
124
- c := misc .ErrHTTPConflict
125
- err := & models.Error {
126
- Message : & msg ,
127
- Code : & c ,
128
- }
129
- return maps .NewAddMapEntryDefault (maps .AddMapEntryConflictCode ).WithPayload (err )
130
- }
131
-
132
118
err := h .Client .Runtime .AddMapEntry (params .Map , params .Data .Key , params .Data .Value )
133
119
if err != nil {
134
- e := misc .HandleError (err )
135
- return maps .NewAddMapEntryDefault (int ( * e . Code )) .WithPayload (e )
120
+ status := misc .GetHTTPStatusFromErr (err )
121
+ return maps .NewAddMapEntryDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
136
122
}
137
123
return maps .NewAddMapEntryCreated ().WithPayload (params .Data )
138
124
}
@@ -145,8 +131,8 @@ type GetRuntimeMapEntryHandlerImpl struct {
145
131
func (h * GetRuntimeMapEntryHandlerImpl ) Handle (params maps.GetRuntimeMapEntryParams , principal interface {}) middleware.Responder {
146
132
m , err := h .Client .Runtime .GetMapEntry (params .Map , params .ID )
147
133
if err != nil {
148
- e := misc .HandleError (err )
149
- return maps .NewGetRuntimeMapEntryDefault (int ( * e . Code )) .WithPayload (e )
134
+ status := misc .GetHTTPStatusFromErr (err )
135
+ return maps .NewGetRuntimeMapEntryDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
150
136
}
151
137
if m == nil {
152
138
return maps .NewGetRuntimeMapEntryNotFound ()
@@ -162,8 +148,8 @@ type ReplaceRuntimeMapEntryHandlerImpl struct {
162
148
func (h * ReplaceRuntimeMapEntryHandlerImpl ) Handle (params maps.ReplaceRuntimeMapEntryParams , principal interface {}) middleware.Responder {
163
149
err := h .Client .Runtime .SetMapEntry (params .Map , params .ID , * params .Data .Value )
164
150
if err != nil {
165
- e := misc .HandleError (err )
166
- return maps .NewGetRuntimeMapEntryDefault (int ( * e . Code )) .WithPayload (e )
151
+ status := misc .GetHTTPStatusFromErr (err )
152
+ return maps .NewGetRuntimeMapEntryDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
167
153
}
168
154
169
155
e , err := h .Client .Runtime .GetMapEntry (params .Map , params .ID )
@@ -181,8 +167,8 @@ type DeleteRuntimeMapEntryHandlerImpl struct {
181
167
func (h * DeleteRuntimeMapEntryHandlerImpl ) Handle (params maps.DeleteRuntimeMapEntryParams , principal interface {}) middleware.Responder {
182
168
err := h .Client .Runtime .DeleteMapEntry (params .Map , params .ID )
183
169
if err != nil {
184
- e := misc .HandleError (err )
185
- return maps .NewDeleteRuntimeMapEntryDefault (int ( * e . Code )) .WithPayload (e )
170
+ status := misc .GetHTTPStatusFromErr (err )
171
+ return maps .NewDeleteRuntimeMapEntryDefault (status ) .WithPayload (misc . SetError ( status , err . Error ()) )
186
172
}
187
173
return maps .NewDeleteRuntimeMapEntryNoContent ()
188
174
}
0 commit comments