Skip to content

Commit f16584b

Browse files
authored
Only return configuration settings that were requested. (#112)
1 parent 91e9664 commit f16584b

File tree

1 file changed

+14
-26
lines changed

1 file changed

+14
-26
lines changed

internal/api/handle_admin.go

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -238,46 +238,34 @@ type PGSettingsResponse struct {
238238
}
239239

240240
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-
247241
conn, err := localConnection(r.Context(), "postgres")
248242
if err != nil {
249243
renderErr(w, err)
250244
return
251245
}
252246
defer conn.Close(r.Context())
253247

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 {
256250
renderErr(w, err)
257251
return
258252
}
259253

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
277260
}
261+
settings = append(settings, *setting)
278262
}
279263

280-
resp := &Response{Result: PGSettingsResponse{Settings: out}}
264+
resp := &Response{
265+
Result: PGSettingsResponse{
266+
Settings: settings,
267+
},
268+
}
281269
renderJSON(w, resp, http.StatusOK)
282270
}
283271

0 commit comments

Comments
 (0)