Commit 0702164f authored by Clayton Coleman's avatar Clayton Coleman

httplog is not a CloseNotifier

We wrap TimeoutHandler with RecoverPanics, but httplog does not implement http.CloseNotifier, which causes a naive watch from curl against the insecure port to fail. For now, implement CloseNotifier (but we should consider removing httplog now that we have other tools in the stack to manage it).
parent 7a8b9e64
...@@ -200,6 +200,11 @@ func (rl *respLogger) Hijack() (net.Conn, *bufio.ReadWriter, error) { ...@@ -200,6 +200,11 @@ func (rl *respLogger) Hijack() (net.Conn, *bufio.ReadWriter, error) {
return rl.w.(http.Hijacker).Hijack() return rl.w.(http.Hijacker).Hijack()
} }
// CloseNotify implements http.CloseNotifier
func (rl *respLogger) CloseNotify() <-chan bool {
return rl.w.(http.CloseNotifier).CloseNotify()
}
func (rl *respLogger) recordStatus(status int) { func (rl *respLogger) recordStatus(status int) {
rl.status = status rl.status = status
rl.statusRecorded = true rl.statusRecorded = true
......
...@@ -37,3 +37,17 @@ func TestExperimentalPrefix(t *testing.T) { ...@@ -37,3 +37,17 @@ func TestExperimentalPrefix(t *testing.T) {
t.Fatalf("got status %v instead of 200 OK", resp.StatusCode) t.Fatalf("got status %v instead of 200 OK", resp.StatusCode)
} }
} }
func TestWatchSucceedsWithoutArgs(t *testing.T) {
_, s := framework.RunAMaster(t)
defer s.Close()
resp, err := http.Get(s.URL + "/api/v1/namespaces?watch=1")
if err != nil {
t.Fatalf("unexpected error getting experimental prefix: %v", err)
}
if resp.StatusCode != http.StatusOK {
t.Fatalf("got status %v instead of 200 OK", resp.StatusCode)
}
resp.Body.Close()
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment