@@ -40,7 +40,7 @@ func (h *CLIHandler) Auth(c *api.Client, m map[string]string) (*api.Secret, erro
40
40
signal .Notify (sigintCh , os .Interrupt )
41
41
defer signal .Stop (sigintCh )
42
42
43
- doneCh := make (chan loginResp )
43
+ doneCh := make (chan loginResp , 2 )
44
44
45
45
mount , ok := m ["mount" ]
46
46
if ! ok {
@@ -80,7 +80,10 @@ func (h *CLIHandler) Auth(c *api.Client, m map[string]string) (*api.Secret, erro
80
80
}
81
81
82
82
// Set up callback handler
83
- http .HandleFunc ("/oidc/callback" , callbackHandler (c , mount , clientNonce , doneCh ))
83
+ mux := http .NewServeMux ()
84
+ mux .HandleFunc ("/oidc/callback" , callbackHandler (c , mount , clientNonce , doneCh ))
85
+ srv := & http.Server {Handler : mux }
86
+ srv .SetKeepAlivesEnabled (false )
84
87
85
88
listener , err := net .Listen ("tcp" , listenAddress + ":" + port )
86
89
if err != nil {
@@ -96,7 +99,7 @@ func (h *CLIHandler) Auth(c *api.Client, m map[string]string) (*api.Secret, erro
96
99
97
100
// Start local server
98
101
go func () {
99
- err := http .Serve (listener , nil )
102
+ err := srv .Serve (listener )
100
103
if err != nil && err != http .ErrServerClosed {
101
104
doneCh <- loginResp {nil , err }
102
105
}
0 commit comments