content-type@^1.0.5 and media-typer@^1.0.0 for type validation
media-typerapplication/toml with extension .tomlapplication/ubjson with extension .ubjapplication/x-keepass2 with extension .kdbx.amr to audio/amr.cjs to application/node.dbf to application/vnd.dbf.m4s to video/iso.segment.mvt to application/vnd.mapbox-vector-tile.mxmf to audio/mobile-xmf.opus to audio/ogg.rar to application/vnd.rar.td to application/urc-targetdesc+xml.trig to application/trigapplication/*+xml typesimage/avif with extension .avifimage/ktx2 with extension .ktx2image/vnd.ms-dds with extension .ddsapplication/vnd.apple.keynote to be .keyapplication/*+xml types.es for application/ecmascripttypeis.is.csl to application/vnd.citationstyles.style+xml.es to application/ecmascript.nq to application/n-quads.nt to application/n-triples.owl to application/rdf+xml.siv and .sieve to application/sieveimage/* typesmodel/* typestext/mdx with extension .mdxthrow on invalid typeapplication/raml+yaml with extension .ramlapplication/wasm with extension .wasmtext/shex with extension .shexmessage/* types.mjs to application/javascript.wadl to application/vnd.sun.wadl+xml.gz to application/gzip.md and .markdown to be text/markdowntext/hjson to registered application/hjsonapplication/dash+xmlaudio/mp4hasBody Transfer-Encoding check*/*)hasbody to be true for content-length: 0~ range on mime-typesimprove type parsing
mime to mime-types@1.0.0support suffix matching:
+json matches application/vnd+json*/vnd+json matches application/vnd+jsonapplication/*+json matches application/vnd+jsonexpose internal utilities:
.is().hasBody().normalize().match()multipart as a shorthand