Skip to content

Commit bb4cf3f

Browse files
committed
http: on invalid request, send 400 response
Fixes #2160 R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4930049
1 parent 4a4fa38 commit bb4cf3f

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/pkg/http/server.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -565,14 +565,18 @@ func (c *conn) serve() {
565565
for {
566566
w, err := c.readRequest()
567567
if err != nil {
568+
msg := "400 Bad Request"
568569
if err == errTooLarge {
569570
// Their HTTP client may or may not be
570571
// able to read this if we're
571572
// responding to them and hanging up
572573
// while they're still writing their
573574
// request. Undefined behavior.
574-
fmt.Fprintf(c.rwc, "HTTP/1.1 400 Request Too Large\r\n\r\n")
575+
msg = "400 Request Too Large"
576+
} else if neterr, ok := err.(net.Error); ok && neterr.Timeout() {
577+
break // Don't reply
575578
}
579+
fmt.Fprintf(c.rwc, "HTTP/1.1 %s\r\n\r\n", msg)
576580
break
577581
}
578582

0 commit comments

Comments
 (0)