@@ -207,19 +207,25 @@ public string GetHeaderValue(ReadOnlySpan<byte> headerValue, Encoding? valueEnco
207
207
break ;
208
208
209
209
case 10 :
210
- switch ( contentTypeValue [ 0 ] )
210
+ switch ( contentTypeValue [ 6 ] )
211
211
{
212
- case ( byte ) 't' : candidate = "text/plain" ; break ; // [t]ext/plain
213
- case ( byte ) 'i' : candidate = "image/jpeg" ; break ; // [i]mage/jpeg
212
+ case ( byte ) 'l' : candidate = "text/plain" ; break ; // text/p[l]ain
213
+ case ( byte ) 'j' : candidate = "image/jpeg" ; break ; // image/[j]peg
214
+ case ( byte ) 'w' : candidate = "image/webp" ; break ; // image/[w]ebp
214
215
}
215
216
break ;
216
217
218
+ case 13 :
219
+ candidate = "image/svg+xml" ; // image/svg+xml
220
+ break ;
221
+
217
222
case 15 :
218
223
switch ( contentTypeValue [ 12 ] )
219
224
{
220
225
case ( byte ) 'p' : candidate = "application/pdf" ; break ; // application/[p]df
221
226
case ( byte ) 'x' : candidate = "application/xml" ; break ; // application/[x]ml
222
227
case ( byte ) 'z' : candidate = "application/zip" ; break ; // application/[z]ip
228
+ case ( byte ) 'i' : candidate = "text/javascript" ; break ; // text/javascr[i]pt
223
229
}
224
230
break ;
225
231
@@ -231,6 +237,10 @@ public string GetHeaderValue(ReadOnlySpan<byte> headerValue, Encoding? valueEnco
231
237
}
232
238
break ;
233
239
240
+ case 17 :
241
+ candidate = "text/event-stream" ; // text/event-stream
242
+ break ;
243
+
234
244
case 19 :
235
245
candidate = "multipart/form-data" ; // multipart/form-data
236
246
break ;
@@ -239,17 +249,47 @@ public string GetHeaderValue(ReadOnlySpan<byte> headerValue, Encoding? valueEnco
239
249
candidate = "application/javascript" ; // application/javascript
240
250
break ;
241
251
252
+ case 23 :
253
+ switch ( contentTypeValue [ 18 ] )
254
+ {
255
+ case ( byte ) 'u' : candidate = "text/html;charset=utf-8" ; break ; // text/html;charset=[u]tf-8
256
+ case ( byte ) 'U' : candidate = "text/html;charset=UTF-8" ; break ; // text/html;charset=[U]TF-8
257
+ }
258
+ break ;
259
+
242
260
case 24 :
243
- switch ( contentTypeValue [ 19 ] )
261
+ switch ( contentTypeValue [ 10 ] ^ contentTypeValue [ 19 ] )
244
262
{
245
- case ( byte ) 't' : candidate = "application/octet-stream" ; break ; // application/octet-s[t]ream
246
- case ( byte ) 'u' : candidate = "text/html; charset=utf-8" ; break ; // text/html; charset=[u]tf-8
247
- case ( byte ) 'U' : candidate = "text/html; charset=UTF-8" ; break ; // text/html; charset=[U]TF-8
263
+ case 'n' ^ 't' : candidate = "application/octet-stream" ; break ; // applicatio[n]/octet-s[t]ream
264
+ case ' ' ^ 'u' : candidate = "text/html; charset=utf-8" ; break ; // text/html;[ ]charset=[u]tf-8
265
+ case ' ' ^ 'U' : candidate = "text/html; charset=UTF-8" ; break ; // text/html;[ ]charset=[U]TF-8
266
+ case ';' ^ 'u' : candidate = "text/plain;charset=utf-8" ; break ; // text/plain[;]charset=[u]tf-8
267
+ case ';' ^ 'U' : candidate = "text/plain;charset=UTF-8" ; break ; // text/plain[;]charset=[U]TF-8
248
268
}
249
269
break ;
250
270
251
271
case 25 :
252
- candidate = "text/plain; charset=utf-8" ; // text/plain; charset=utf-8
272
+ switch ( contentTypeValue [ 20 ] )
273
+ {
274
+ case ( byte ) 'u' : candidate = "text/plain; charset=utf-8" ; break ; // text/plain; charset=[u]tf-8
275
+ case ( byte ) 'U' : candidate = "text/plain; charset=UTF-8" ; break ; // text/plain; charset=[U]TF-8
276
+ }
277
+ break ;
278
+
279
+ case 29 :
280
+ switch ( contentTypeValue [ 19 ] )
281
+ {
282
+ case ( byte ) 'I' : candidate = "text/html; charset=ISO-8859-1" ; break ; // text/html; charset=[I]SO-8859-1
283
+ case ( byte ) 'i' : candidate = "text/html; charset=iso-8859-1" ; break ; // text/html; charset=[i]so-8859-1
284
+ }
285
+ break ;
286
+
287
+ case 30 :
288
+ switch ( contentTypeValue [ 25 ] )
289
+ {
290
+ case ( byte ) 'u' : candidate = "text/javascript; charset=utf-8" ; break ; // text/javascript; charset=[u]tf-8
291
+ case ( byte ) 'U' : candidate = "text/javascript; charset=UTF-8" ; break ; // text/javascript; charset=[U]TF-8
292
+ }
253
293
break ;
254
294
255
295
case 31 :
0 commit comments