@@ -98,25 +98,32 @@ func FormatMediaType(t string, param map[string]string) string {
98
98
func checkMediaTypeDisposition (s string ) error {
99
99
typ , rest := consumeToken (s )
100
100
if typ == "" {
101
- return errors . New ( "mime: no media type" )
101
+ return errNoMediaType
102
102
}
103
103
if rest == "" {
104
104
return nil
105
105
}
106
106
var ok bool
107
107
if rest , ok = strings .CutPrefix (rest , "/" ); ! ok {
108
- return errors . New ( "mime: expected slash after first token" )
108
+ return errNoSlashAfterFirstToken
109
109
}
110
110
subtype , rest := consumeToken (rest )
111
111
if subtype == "" {
112
- return errors . New ( "mime: expected token after slash" )
112
+ return errNoTokenAfterSlash
113
113
}
114
114
if rest != "" {
115
- return errors . New ( "mime: unexpected content after media subtype" )
115
+ return errUnexpectedContentAfterMediaSubtype
116
116
}
117
117
return nil
118
118
}
119
119
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
+
120
127
// ErrInvalidMediaParameter is returned by [ParseMediaType] if
121
128
// the media type value was found but there was an error parsing
122
129
// the optional parameters
@@ -177,7 +184,7 @@ func ParseMediaType(v string) (mediatype string, params map[string]string, err e
177
184
}
178
185
if v , exists := pmap [key ]; exists && v != value {
179
186
// 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
181
188
}
182
189
pmap [key ] = value
183
190
v = rest
@@ -227,6 +234,8 @@ func ParseMediaType(v string) (mediatype string, params map[string]string, err e
227
234
return
228
235
}
229
236
237
+ var errDuplicateParamName = errors .New ("mime: duplicate parameter name" )
238
+
230
239
func decode2231Enc (v string ) (string , bool ) {
231
240
charset , v , ok := strings .Cut (v , "'" )
232
241
if ! ok {
0 commit comments