mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-30 18:17:55 +00:00 
			
		
		
		
	 13b8306575
			
		
	
	13b8306575
	
	
	
		
			
			* VAULT-1564 report in-flight requests * adding a changelog * Changing some variable names and fixing comments * minor style change * adding unauthenticated support for in-flight-req * adding documentation for the listener.profiling stanza * adding an atomic counter for the inflight requests addressing comments * addressing comments * logging completed requests * fixing a test * providing log_requests_info as a config option to determine at which level requests should be logged * removing a member and a method from the StatusHeaderResponseWriter struct * adding api docks * revert changes in NewHTTPResponseWriter * Fix logging invalid log_requests_info value * Addressing comments * Fixing a test * use an tomic value for logRequestsInfo, and moving the CreateClientID function to Core * fixing go.sum * minor refactoring * protecting InFlightRequests from data race * another try on fixing a data race * another try to fix a data race * addressing comments * fixing couple of tests * changing log_requests_info to log_requests_level * minor style change * fixing a test * removing the lock in InFlightRequests * use single-argument form for interface assertion * adding doc for the new configuration paramter * adding the new doc to the nav data file * minor fix
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package http
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/hashicorp/vault/internalshared/configutil"
 | |
| 	"github.com/hashicorp/vault/vault"
 | |
| )
 | |
| 
 | |
| func TestInFlightRequestUnauthenticated(t *testing.T) {
 | |
| 	conf := &vault.CoreConfig{}
 | |
| 	core, _, token := vault.TestCoreUnsealedWithConfig(t, conf)
 | |
| 	ln, addr := TestServer(t, core)
 | |
| 	TestServerAuth(t, addr, token)
 | |
| 
 | |
| 	// Default: Only authenticated access
 | |
| 	resp := testHttpGet(t, "", addr+"/v1/sys/in-flight-req")
 | |
| 	testResponseStatus(t, resp, 403)
 | |
| 	resp = testHttpGet(t, token, addr+"/v1/sys/in-flight-req")
 | |
| 	testResponseStatus(t, resp, 200)
 | |
| 
 | |
| 	// Close listener
 | |
| 	ln.Close()
 | |
| 
 | |
| 	// Setup new custom listener with unauthenticated metrics access
 | |
| 	ln, addr = TestListener(t)
 | |
| 	props := &vault.HandlerProperties{
 | |
| 		Core: core,
 | |
| 		ListenerConfig: &configutil.Listener{
 | |
| 			InFlightRequestLogging: configutil.ListenerInFlightRequestLogging{
 | |
| 				UnauthenticatedInFlightAccess: true,
 | |
| 			},
 | |
| 		},
 | |
| 	}
 | |
| 	TestServerWithListenerAndProperties(t, ln, addr, core, props)
 | |
| 	defer ln.Close()
 | |
| 	TestServerAuth(t, addr, token)
 | |
| 
 | |
| 	// Test without token
 | |
| 	resp = testHttpGet(t, "", addr+"/v1/sys/in-flight-req")
 | |
| 	testResponseStatus(t, resp, 200)
 | |
| 
 | |
| 	// Should also work with token
 | |
| 	resp = testHttpGet(t, token, addr+"/v1/sys/in-flight-req")
 | |
| 	testResponseStatus(t, resp, 200)
 | |
| }
 |