mime: make FormatMediaType take full type for consistency
Fixes #2405
R=rsc
CC=golang-dev
https://golang.org/cl/5539048
diff --git a/src/pkg/mime/type.go b/src/pkg/mime/type.go
index e3d968f..00cff26 100644
--- a/src/pkg/mime/type.go
+++ b/src/pkg/mime/type.go
@@ -62,21 +62,14 @@
}
func setExtensionType(extension, mimeType string) error {
- full, param, err := ParseMediaType(mimeType)
+ _, param, err := ParseMediaType(mimeType)
if err != nil {
return err
}
- if split := strings.Index(full, "/"); split < 0 {
- return fmt.Errorf(`mime: malformed MIME type "%s"`, mimeType)
- } else {
- main := full[:split]
- sub := full[split+1:]
- if main == "text" && param["charset"] == "" {
- param["charset"] = "utf-8"
- }
- mimeType = FormatMediaType(main, sub, param)
+ if strings.HasPrefix(mimeType, "text/") && param["charset"] == "" {
+ param["charset"] = "utf-8"
+ mimeType = FormatMediaType(mimeType, param)
}
-
mimeLock.Lock()
mimeTypes[extension] = mimeType
mimeLock.Unlock()