mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-04 12:37:59 +00:00 
			
		
		
		
	* add redaction config settings to listener * sys seal redaction + test modification for default handler properties * build date should be redacted by 'redact_version' too * sys-health redaction + test fiddling * sys-leader redaction * added changelog * Lots of places need ListenerConfig * Renamed options to something more specific for now * tests for listener config options * changelog updated * updates based on PR comments * updates based on PR comments - removed unrequired test case field * fixes for docker tests and potentially server dev mode related flags
		
			
				
	
	
		
			40 lines
		
	
	
		
			947 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			947 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright (c) HashiCorp, Inc.
 | 
						|
// SPDX-License-Identifier: BUSL-1.1
 | 
						|
 | 
						|
package http
 | 
						|
 | 
						|
import (
 | 
						|
	"net/http"
 | 
						|
 | 
						|
	"github.com/hashicorp/vault/vault"
 | 
						|
)
 | 
						|
 | 
						|
// This endpoint is needed to answer queries before Vault unseals
 | 
						|
// or becomes the leader.
 | 
						|
func handleSysLeader(core *vault.Core, opt ...ListenerConfigOption) http.Handler {
 | 
						|
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 | 
						|
		switch r.Method {
 | 
						|
		case "GET":
 | 
						|
			handleSysLeaderGet(core, w, opt...)
 | 
						|
		default:
 | 
						|
			respondError(w, http.StatusMethodNotAllowed, nil)
 | 
						|
		}
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func handleSysLeaderGet(core *vault.Core, w http.ResponseWriter, opt ...ListenerConfigOption) {
 | 
						|
	resp, err := core.GetLeaderStatus()
 | 
						|
	if err != nil {
 | 
						|
		respondError(w, http.StatusInternalServerError, err)
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	opts, err := getOpts(opt...)
 | 
						|
	if opts.withRedactAddresses {
 | 
						|
		resp.LeaderAddress = opts.withRedactionValue
 | 
						|
		resp.LeaderClusterAddress = opts.withRedactionValue
 | 
						|
	}
 | 
						|
 | 
						|
	respondOk(w, resp)
 | 
						|
}
 |