mirror of https://github.com/golang/go.git
net/http: empty contenty-type treated as application/octet-stream
RFC 2616, section 7.2.1 - empty type SHOULD be treated as application/octet-stream. Fixes #6616. R=golang-codereviews, gobot, bradfitz, josharian CC=golang-codereviews https://golang.org/cl/31810043
This commit is contained in:
parent
0e97f4187e
commit
57e27a879e
|
|
@ -673,6 +673,11 @@ func parsePostForm(r *Request) (vs url.Values, err error) {
|
|||
return
|
||||
}
|
||||
ct := r.Header.Get("Content-Type")
|
||||
// RFC 2616, section 7.2.1 - empty type
|
||||
// SHOULD be treated as application/octet-stream
|
||||
if ct == "" {
|
||||
ct = "application/octet-stream"
|
||||
}
|
||||
ct, _, err = mime.ParseMediaType(ct)
|
||||
switch {
|
||||
case ct == "application/x-www-form-urlencoded":
|
||||
|
|
|
|||
|
|
@ -68,8 +68,9 @@ type parseContentTypeTest struct {
|
|||
|
||||
var parseContentTypeTests = []parseContentTypeTest{
|
||||
{false, stringMap{"Content-Type": {"text/plain"}}},
|
||||
// Non-existent keys are not placed. The value nil is illegal.
|
||||
{true, stringMap{}},
|
||||
// Empty content type is legal - shoult be treated as
|
||||
// application/octet-stream (RFC 2616, section 7.2.1)
|
||||
{false, stringMap{}},
|
||||
{true, stringMap{"Content-Type": {"text/plain; boundary="}}},
|
||||
{false, stringMap{"Content-Type": {"application/unknown"}}},
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue