@@ -238,46 +238,34 @@ type PGSettingsResponse struct {
238
238
}
239
239
240
240
func handleViewPostgresSettings (w http.ResponseWriter , r * http.Request ) {
241
- node , err := flypg .NewNode ()
242
- if err != nil {
243
- renderErr (w , err )
244
- return
245
- }
246
-
247
241
conn , err := localConnection (r .Context (), "postgres" )
248
242
if err != nil {
249
243
renderErr (w , err )
250
244
return
251
245
}
252
246
defer conn .Close (r .Context ())
253
247
254
- all , err := node . PGConfig . CurrentConfig ()
255
- if err != nil {
248
+ var requestedSettings [] string
249
+ if err := json . NewDecoder ( r . Body ). Decode ( & requestedSettings ); err != nil {
256
250
renderErr (w , err )
257
251
return
258
252
}
259
253
260
- var in []string
261
-
262
- if err := json .NewDecoder (r .Body ).Decode (& in ); err != nil {
263
- renderErr (w , err )
264
- return
265
- }
266
-
267
- var out []admin.PGSetting
268
-
269
- for key := range all {
270
- if slices .Contains (in , key ) {
271
- setting , err := admin .GetSetting (r .Context (), conn , key )
272
- if err != nil {
273
- renderErr (w , err )
274
- return
275
- }
276
- out = append (out , * setting )
254
+ var settings []admin.PGSetting
255
+ for _ , key := range requestedSettings {
256
+ setting , err := admin .GetSetting (r .Context (), conn , key )
257
+ if err != nil {
258
+ renderErr (w , err )
259
+ return
277
260
}
261
+ settings = append (settings , * setting )
278
262
}
279
263
280
- resp := & Response {Result : PGSettingsResponse {Settings : out }}
264
+ resp := & Response {
265
+ Result : PGSettingsResponse {
266
+ Settings : settings ,
267
+ },
268
+ }
281
269
renderJSON (w , resp , http .StatusOK )
282
270
}
283
271
0 commit comments