@@ -12,7 +12,7 @@ import (
1212 "golang.org/x/exp/slices"
1313)
1414
15- func handleReadonlyState (w http.ResponseWriter , r * http.Request ) {
15+ func handleReadonlyState (w http.ResponseWriter , _ * http.Request ) {
1616 res := & Response {
1717 Result : false ,
1818 }
@@ -24,7 +24,7 @@ func handleReadonlyState(w http.ResponseWriter, r *http.Request) {
2424 renderJSON (w , res , http .StatusOK )
2525}
2626
27- func handleHaproxyRestart (w http.ResponseWriter , r * http.Request ) {
27+ func handleHaproxyRestart (w http.ResponseWriter , _ * http.Request ) {
2828 if err := flypg .RestartHaproxy (); err != nil {
2929 renderErr (w , err )
3030 return
@@ -78,18 +78,18 @@ func handleDisableReadonly(w http.ResponseWriter, r *http.Request) {
7878}
7979
8080func handleRole (w http.ResponseWriter , r * http.Request ) {
81- conn , close , err := localConnection ( r . Context (), "postgres" )
81+ node , err := flypg . NewNode ( )
8282 if err != nil {
8383 renderErr (w , err )
8484 return
8585 }
86- defer close ()
8786
88- node , err := flypg . NewNode ( )
87+ conn , err := localConnection ( r . Context (), "postgres" )
8988 if err != nil {
9089 renderErr (w , err )
9190 return
9291 }
92+ defer conn .Close (r .Context ())
9393
9494 member , err := node .RepMgr .Member (r .Context (), conn )
9595 if err != nil {
@@ -118,21 +118,27 @@ type SettingsUpdate struct {
118118 RestartRequired bool `json:"restart_required"`
119119}
120120
121- func ( s * Server ) handleUpdatePostgresSettings (w http.ResponseWriter , r * http.Request ) {
122- conn , close , err := localConnection ( r . Context (), "postgres" )
121+ func handleUpdatePostgresSettings (w http.ResponseWriter , r * http.Request ) {
122+ node , err := flypg . NewNode ( )
123123 if err != nil {
124124 renderErr (w , err )
125125 return
126126 }
127- defer close ()
127+
128+ conn , err := localConnection (r .Context (), "postgres" )
129+ if err != nil {
130+ renderErr (w , err )
131+ return
132+ }
133+ defer conn .Close (r .Context ())
128134
129135 consul , err := state .NewStore ()
130136 if err != nil {
131137 renderErr (w , err )
132138 return
133139 }
134140
135- user , err := flypg .ReadFromFile (s . node .PGConfig .UserConfigFile ())
141+ user , err := flypg .ReadFromFile (node .PGConfig .UserConfigFile ())
136142 if err != nil {
137143 renderErr (w , err )
138144 return
@@ -158,7 +164,7 @@ func (s *Server) handleUpdatePostgresSettings(w http.ResponseWriter, r *http.Req
158164 user [k ] = v
159165 }
160166
161- s . node .PGConfig .SetUserConfig (user )
167+ node .PGConfig .SetUserConfig (user )
162168
163169 var requiresRestart []string
164170
@@ -185,7 +191,7 @@ func (s *Server) handleUpdatePostgresSettings(w http.ResponseWriter, r *http.Req
185191 }}
186192 }
187193
188- err = flypg .PushUserConfig (s . node .PGConfig , consul )
194+ err = flypg .PushUserConfig (node .PGConfig , consul )
189195 if err != nil {
190196 renderErr (w , err )
191197 return
@@ -194,21 +200,27 @@ func (s *Server) handleUpdatePostgresSettings(w http.ResponseWriter, r *http.Req
194200 renderJSON (w , res , http .StatusOK )
195201}
196202
197- func ( s * Server ) handleApplyConfig (w http.ResponseWriter , r * http.Request ) {
198- conn , close , err := localConnection ( r . Context (), "postgres" )
203+ func handleApplyConfig (w http.ResponseWriter , r * http.Request ) {
204+ node , err := flypg . NewNode ( )
199205 if err != nil {
200206 renderErr (w , err )
201207 return
202208 }
203- defer close ()
209+
210+ conn , err := localConnection (r .Context (), "postgres" )
211+ if err != nil {
212+ renderErr (w , err )
213+ return
214+ }
215+ defer conn .Close (r .Context ())
204216
205217 consul , err := state .NewStore ()
206218 if err != nil {
207219 renderErr (w , err )
208220 return
209221 }
210222
211- err = flypg .SyncUserConfig (s . node .PGConfig , consul )
223+ err = flypg .SyncUserConfig (node .PGConfig , consul )
212224 if err != nil {
213225 renderErr (w , err )
214226 return
@@ -225,16 +237,21 @@ type PGSettingsResponse struct {
225237 Settings []admin.PGSetting `json:"settings"`
226238}
227239
228- func ( s * Server ) handleViewPostgresSettings (w http.ResponseWriter , r * http.Request ) {
229- conn , close , err := localConnection ( r . Context (), "postgres" )
240+ func handleViewPostgresSettings (w http.ResponseWriter , r * http.Request ) {
241+ node , err := flypg . NewNode ( )
230242 if err != nil {
231243 renderErr (w , err )
232244 return
233245 }
234246
235- defer close ()
247+ conn , err := localConnection (r .Context (), "postgres" )
248+ if err != nil {
249+ renderErr (w , err )
250+ return
251+ }
252+ defer conn .Close (r .Context ())
236253
237- all , err := s . node .PGConfig .CurrentConfig ()
254+ all , err := node .PGConfig .CurrentConfig ()
238255 if err != nil {
239256 renderErr (w , err )
240257 return
@@ -264,8 +281,14 @@ func (s *Server) handleViewPostgresSettings(w http.ResponseWriter, r *http.Reque
264281 renderJSON (w , resp , http .StatusOK )
265282}
266283
267- func (s * Server ) handleViewRepmgrSettings (w http.ResponseWriter , r * http.Request ) {
268- all , err := s .node .RepMgr .CurrentConfig ()
284+ func handleViewRepmgrSettings (w http.ResponseWriter , r * http.Request ) {
285+ node , err := flypg .NewNode ()
286+ if err != nil {
287+ renderErr (w , err )
288+ return
289+ }
290+
291+ all , err := node .RepMgr .CurrentConfig ()
269292 if err != nil {
270293 renderErr (w , err )
271294 return
0 commit comments