MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / handleGetConfig

Method handleGetConfig

rest/admin_api.go:474–550  ·  view source on GitHub ↗

Get admin config info

()

Source from the content-addressed store, hash-verified

472
473// Get admin config info
474func (h *handler) handleGetConfig() error {
475 if redact, _ := h.getOptBoolQuery("redact", true); !redact {
476 return base.HTTPErrorf(http.StatusBadRequest, "redact=false is no longer supported")
477 }
478
479 includeRuntime, _ := h.getOptBoolQuery("include_runtime", false)
480 if includeRuntime {
481 cfg := RunTimeServerConfigResponse{}
482 var err error
483
484 allDbNames := h.server.AllDatabaseNames()
485 databaseMap := make(map[string]*DbConfig, len(allDbNames))
486 cfg.StartupConfig, err = h.server.Config.Redacted()
487 if err != nil {
488 return err
489 }
490
491 for _, dbName := range allDbNames {
492 // defensive check - in-flight requests could've removed this database since we got the name of it
493 dbConfig := h.server.GetDbConfig(dbName)
494 if dbConfig == nil {
495 continue
496 }
497
498 dbConfig, err := MergeDatabaseConfigWithDefaults(h.server.Config, dbConfig)
499 if err != nil {
500 return err
501 }
502
503 databaseMap[dbName], err = dbConfig.Redacted(h.ctx())
504 if err != nil {
505 return err
506 }
507 }
508
509 for dbName, dbConfig := range databaseMap {
510 database, err := h.server.GetDatabase(h.ctx(), dbName)
511 if err != nil {
512 return err
513 }
514
515 if database.SGReplicateMgr != nil {
516 replications, err := database.SGReplicateMgr.GetReplications()
517 if err != nil {
518 return err
519 }
520
521 dbConfig.Replications = make(map[string]*db.ReplicationConfig, len(replications))
522
523 for replicationName, replicationConfig := range replications {
524 dbConfig.Replications[replicationName] = replicationConfig.ReplicationConfig.Redacted(h.ctx())
525 }
526 }
527 }
528
529 // grab cluster uuid for runtime config
530 clusterUUID, err := h.server.getClusterUUID(h.ctx())
531 if err != nil {

Callers

nothing calls this directly

Calls 13

getOptBoolQueryMethod · 0.95
ctxMethod · 0.95
writeJSONMethod · 0.95
HTTPErrorfFunction · 0.92
InfofCtxFunction · 0.92
AllDatabaseNamesMethod · 0.80
GetDbConfigMethod · 0.80
getClusterUUIDMethod · 0.80
RedactedMethod · 0.45
GetDatabaseMethod · 0.45

Tested by

no test coverage detected