Skip to content

Commit c44e2a2

Browse files
committed
mime: declare errors as non-exported variables
1 parent 75493d6 commit c44e2a2

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/mime/mediatype.go

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,25 +98,32 @@ func FormatMediaType(t string, param map[string]string) string {
9898
func checkMediaTypeDisposition(s string) error {
9999
typ, rest := consumeToken(s)
100100
if typ == "" {
101-
return errors.New("mime: no media type")
101+
return errNoMediaType
102102
}
103103
if rest == "" {
104104
return nil
105105
}
106106
var ok bool
107107
if rest, ok = strings.CutPrefix(rest, "/"); !ok {
108-
return errors.New("mime: expected slash after first token")
108+
return errNoSlashAfterFirstToken
109109
}
110110
subtype, rest := consumeToken(rest)
111111
if subtype == "" {
112-
return errors.New("mime: expected token after slash")
112+
return errNoTokenAfterSlash
113113
}
114114
if rest != "" {
115-
return errors.New("mime: unexpected content after media subtype")
115+
return errUnexpectedContentAfterMediaSubtype
116116
}
117117
return nil
118118
}
119119

120+
var (
121+
errNoMediaType = errors.New("mime: no media type")
122+
errNoSlashAfterFirstToken = errors.New("mime: expected slash after first token")
123+
errNoTokenAfterSlash = errors.New("mime: expected token after slash")
124+
errUnexpectedContentAfterMediaSubtype = errors.New("mime: unexpected content after media subtype")
125+
)
126+
120127
// ErrInvalidMediaParameter is returned by [ParseMediaType] if
121128
// the media type value was found but there was an error parsing
122129
// the optional parameters
@@ -177,7 +184,7 @@ func ParseMediaType(v string) (mediatype string, params map[string]string, err e
177184
}
178185
if v, exists := pmap[key]; exists && v != value {
179186
// Duplicate parameter names are incorrect, but we allow them if they are equal.
180-
return "", nil, errors.New("mime: duplicate parameter name")
187+
return "", nil, errDuplicateParamName
181188
}
182189
pmap[key] = value
183190
v = rest
@@ -227,6 +234,8 @@ func ParseMediaType(v string) (mediatype string, params map[string]string, err e
227234
return
228235
}
229236

237+
var errDuplicateParamName = errors.New("mime: duplicate parameter name")
238+
230239
func decode2231Enc(v string) (string, bool) {
231240
charset, v, ok := strings.Cut(v, "'")
232241
if !ok {

0 commit comments

Comments
 (0)