diff options
Diffstat (limited to 'libgo/go/mime/mediatype.go')
-rw-r--r-- | libgo/go/mime/mediatype.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libgo/go/mime/mediatype.go b/libgo/go/mime/mediatype.go index 608f759da8f..ad63f9bb98e 100644 --- a/libgo/go/mime/mediatype.go +++ b/libgo/go/mime/mediatype.go @@ -8,6 +8,7 @@ import ( "bytes" "errors" "fmt" + "sort" "strings" "unicode" ) @@ -31,7 +32,14 @@ func FormatMediaType(t string, param map[string]string) string { b.WriteByte('/') b.WriteString(strings.ToLower(sub)) - for attribute, value := range param { + attrs := make([]string, 0, len(param)) + for a := range param { + attrs = append(attrs, a) + } + sort.Strings(attrs) + + for _, attribute := range attrs { + value := param[attribute] b.WriteByte(';') b.WriteByte(' ') if !isToken(attribute) { |