in http-core/src/main/scala/org/apache/pekko/http/scaladsl/model/MediaType.scala [353:505]
private def abin(st: String, c: Compressibility, fe: String*) = register(applicationBinary(st, c, fe: _*))
private def awfc(st: String, cs: HttpCharset, fe: String*) = register(applicationWithFixedCharset(st, cs, fe: _*))
private def awoc(st: String, fe: String*) = register(applicationWithOpenCharset(st, fe: _*))
private def aud(st: String, c: Compressibility, fe: String*) = register(audio(st, c, fe: _*))
private def img(st: String, c: Compressibility, fe: String*) = register(image(st, c, fe: _*))
private def msg(st: String, fe: String*) = register(message(st, Compressible, fe: _*))
private def txt(st: String, fe: String*) = register(text(st, fe: _*))
private def txtfc(st: String, cs: HttpCharset, fe: String*) = register(textWithFixedCharset(st, cs, fe: _*))
private def vid(st: String, fe: String*) = register(video(st, NotCompressible, fe: _*))
private def fnt(st: String, c: Compressibility, fe: String*) = register(font(st, c, fe: _*))
// dummy value currently only used by ContentType.NoContentType
private[http] val NoMediaType = MediaType.customBinary("none", "none", comp = NotCompressible)
val `application/atom+xml` = awoc("atom+xml", "atom")
val `application/base64` = awoc("base64", "mm", "mme")
val `application/cbor` = abin("cbor", Compressible, "cbor")
@deprecated("This format is unofficial and should not be used. Use application/vnd.ms-excel instead.", "Akka HTTP 10.1.6")
val `application/excel` = abin("excel", NotCompressible)
@deprecated("This format is unofficial and should not be used. Use font/woff instead.", "Akka HTTP 10.1.7")
val `application/font-woff` = abin("font-woff", NotCompressible)
val `application/gnutar` = abin("gnutar", NotCompressible, "tgz")
val `application/java-archive` = abin("java-archive", NotCompressible, "jar", "war", "ear")
val `application/javascript` = awoc("javascript", "js")
val `application/json` = awfc("json", HttpCharsets.`UTF-8`, "json")
val `application/json-patch+json` = awfc("json-patch+json", HttpCharsets.`UTF-8`)
val `application/merge-patch+json` = awfc("merge-patch+json", HttpCharsets.`UTF-8`)
val `application/problem+json` = awfc("problem+json", HttpCharsets.`UTF-8`)
val `application/grpc+proto` = abin("grpc+proto", NotCompressible)
val `application/lha` = abin("lha", NotCompressible, "lha")
val `application/lzx` = abin("lzx", NotCompressible, "lzx")
@deprecated("This format is unofficial and should not be used. Use application/vnd.ms-powerpoint instead.", "Akka HTTP 10.1.6")
val `application/mspowerpoint` = abin("mspowerpoint", NotCompressible)
val `application/msword` = abin("msword", NotCompressible, "doc", "dot", "w6w", "wiz", "word", "wri")
val `application/octet-stream` = abin("octet-stream", NotCompressible, "a", "bin", "class", "dump", "exe", "lhx", "lzh", "o", "psd", "saveme", "zoo")
val `application/pdf` = abin("pdf", NotCompressible, "pdf")
val `application/postscript` = abin("postscript", Compressible, "ai", "eps", "ps")
val `application/rss+xml` = awoc("rss+xml", "rss")
val `application/soap+xml` = awoc("soap+xml")
val `application/vnd.api+json` = awfc("vnd.api+json", HttpCharsets.`UTF-8`)
val `application/vnd.google-earth.kml+xml` = awoc("vnd.google-earth.kml+xml", "kml")
val `application/vnd.google-earth.kmz` = abin("vnd.google-earth.kmz", NotCompressible, "kmz")
val `application/vnd.ms-excel` = abin("vnd.ms-excel", NotCompressible, "xl", "xla", "xlb", "xlc", "xld", "xlk", "xll", "xlm", "xls", "xlt", "xlv", "xlw")
val `application/vnd.ms-excel.addin.macroEnabled.12` = abin("vnd.ms-excel.addin.macroEnabled.12", NotCompressible, "xlam")
val `application/vnd.ms-excel.sheet.binary.macroEnabled.12` = abin("vnd.ms-excel.sheet.binary.macroEnabled.12", NotCompressible, "xlsb")
val `application/vnd.ms-excel.sheet.macroEnabled.12` = abin("vnd.ms-excel.sheet.macroEnabled.12",NotCompressible, "xlsm")
val `application/vnd.ms-excel.template.macroEnabled.12` = abin("vnd.ms-excel.template.macroEnabled.12", NotCompressible, "xltm")
val `application/vnd.ms-fontobject` = abin("vnd.ms-fontobject", Compressible, "eot")
val `application/vnd.ms-powerpoint` = abin("vnd.ms-powerpoint", NotCompressible, "pot", "ppa", "pps", "ppt", "ppz")
val `application/vnd.ms-powerpoint.addin.macroEnabled.12` = abin("vnd.ms-powerpoint.addin.macroEnabled.12", NotCompressible, "ppam")
val `application/vnd.ms-powerpoint.presentation.macroEnabled.12` = abin("vnd.ms-powerpoint.presentation.macroEnabled.12", NotCompressible, "pptm", "potm")
val `application/vnd.ms-powerpoint.slideshow.macroEnabled.12` = abin("vnd.ms-powerpoint.slideshow.macroEnabled.12", NotCompressible, "ppsm")
val `application/vnd.ms-word.document.macroEnabled.12` = abin("vnd.ms-word.document.macroEnabled.12", NotCompressible, "docm")
val `application/vnd.ms-word.template.macroEnabled.12` = abin("vnd.ms-word.template.macroEnabled.12", NotCompressible, "dotm")
val `application/vnd.oasis.opendocument.chart` = abin("vnd.oasis.opendocument.chart", Compressible, "odc")
val `application/vnd.oasis.opendocument.database` = abin("vnd.oasis.opendocument.database", Compressible, "odb")
val `application/vnd.oasis.opendocument.formula` = abin("vnd.oasis.opendocument.formula", Compressible, "odf")
val `application/vnd.oasis.opendocument.graphics` = abin("vnd.oasis.opendocument.graphics", Compressible, "odg")
val `application/vnd.oasis.opendocument.image` = abin("vnd.oasis.opendocument.image", Compressible, "odi")
val `application/vnd.oasis.opendocument.presentation` = abin("vnd.oasis.opendocument.presentation", Compressible, "odp")
val `application/vnd.oasis.opendocument.spreadsheet` = abin("vnd.oasis.opendocument.spreadsheet", Compressible, "ods")
val `application/vnd.oasis.opendocument.text` = abin("vnd.oasis.opendocument.text", Compressible, "odt")
val `application/vnd.oasis.opendocument.text-master` = abin("vnd.oasis.opendocument.text-master", Compressible, "odm", "otm")
val `application/vnd.oasis.opendocument.text-web` = abin("vnd.oasis.opendocument.text-web", Compressible, "oth")
val `application/vnd.openxmlformats-officedocument.presentationml.presentation` = abin("vnd.openxmlformats-officedocument.presentationml.presentation", Compressible, "pptx")
val `application/vnd.openxmlformats-officedocument.presentationml.slide` = abin("vnd.openxmlformats-officedocument.presentationml.slide", Compressible, "sldx")
val `application/vnd.openxmlformats-officedocument.presentationml.slideshow` = abin("vnd.openxmlformats-officedocument.presentationml.slideshow", Compressible, "ppsx")
val `application/vnd.openxmlformats-officedocument.presentationml.template` = abin("vnd.openxmlformats-officedocument.presentationml.template", Compressible, "potx")
val `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` = abin("vnd.openxmlformats-officedocument.spreadsheetml.sheet", Compressible, "xlsx")
val `application/vnd.openxmlformats-officedocument.spreadsheetml.template` = abin("vnd.openxmlformats-officedocument.spreadsheetml.template", Compressible, "xltx")
val `application/vnd.openxmlformats-officedocument.wordprocessingml.document` = abin("vnd.openxmlformats-officedocument.wordprocessingml.document", Compressible, "docx")
val `application/vnd.openxmlformats-officedocument.wordprocessingml.template` = abin("vnd.openxmlformats-officedocument.wordprocessingml.template", Compressible, "dotx")
val `application/x-7z-compressed` = abin("x-7z-compressed", NotCompressible, "7z", "s7z")
val `application/x-ace-compressed` = abin("x-ace-compressed", NotCompressible, "ace")
val `application/x-apple-diskimage` = abin("x-apple-diskimage", NotCompressible, "dmg")
val `application/x-arc-compressed` = abin("x-arc-compressed", NotCompressible, "arc")
val `application/x-bzip` = abin("x-bzip", NotCompressible, "bz")
val `application/x-bzip2` = abin("x-bzip2", NotCompressible, "boz", "bz2")
val `application/x-chrome-extension` = abin("x-chrome-extension", NotCompressible, "crx")
val `application/x-compress` = abin("x-compress", NotCompressible, "z")
val `application/x-compressed` = abin("x-compressed", NotCompressible, "gz")
val `application/x-debian-package` = abin("x-debian-package", Compressible, "deb")
val `application/x-dvi` = abin("x-dvi", Compressible, "dvi")
val `application/x-font-truetype` = abin("x-font-truetype", Compressible, "ttf")
val `application/x-font-opentype` = abin("x-font-opentype", Compressible, "otf")
val `application/x-gtar` = abin("x-gtar", NotCompressible, "gtar")
val `application/x-gzip` = abin("x-gzip", NotCompressible, "gzip")
val `application/x-latex` = awoc("x-latex", "latex", "ltx")
val `application/x-rar-compressed` = abin("x-rar-compressed", NotCompressible, "rar")
val `application/x-redhat-package-manager` = abin("x-redhat-package-manager", NotCompressible, "rpm")
val `application/x-shockwave-flash` = abin("x-shockwave-flash", NotCompressible, "swf")
val `application/x-tar` = abin("x-tar", Compressible, "tar")
val `application/x-tex` = abin("x-tex", Compressible, "tex")
val `application/x-texinfo` = abin("x-texinfo", Compressible, "texi", "texinfo")
val `application/x-vrml` = awoc("x-vrml", "vrml")
val `application/x-www-form-urlencoded` = awfc("x-www-form-urlencoded", HttpCharsets.`UTF-8`)
val `application/x-x509-ca-cert` = abin("x-x509-ca-cert", Compressible, "der")
val `application/x-xpinstall` = abin("x-xpinstall", NotCompressible, "xpi")
val `application/xhtml+xml` = awoc("xhtml+xml")
val `application/xml-dtd` = awoc("xml-dtd")
val `application/xml` = awoc("xml")
val `application/problem+xml` = awoc("problem+xml")
val `application/zip` = abin("zip", NotCompressible, "zip")
val `audio/aiff` = aud("aiff", Compressible, "aif", "aifc", "aiff")
val `audio/basic` = aud("basic", Compressible, "au", "snd")
val `audio/midi` = aud("midi", Compressible, "mid", "midi", "kar")
val `audio/mod` = aud("mod", NotCompressible, "mod")
val `audio/mpeg` = aud("mpeg", NotCompressible, "m2a", "mp2", "mp3", "mpa", "mpga")
val `audio/ogg` = aud("ogg", NotCompressible, "oga", "ogg")
val `audio/voc` = aud("voc", NotCompressible, "voc")
val `audio/vorbis` = aud("vorbis", NotCompressible, "vorbis")
val `audio/voxware` = aud("voxware", NotCompressible, "vox")
val `audio/wav` = aud("wav", Compressible, "wav")
val `audio/x-realaudio` = aud("x-pn-realaudio", NotCompressible, "ra", "ram", "rmm", "rmp")
val `audio/x-psid` = aud("x-psid", Compressible, "sid")
val `audio/xm` = aud("xm", NotCompressible, "xm")
val `audio/webm` = aud("webm", NotCompressible)
/* Refer to https://tools.ietf.org/html/rfc8081#page-15 for Font being main type woff and woff2 being subtype*/
val `font/woff` = fnt("woff", NotCompressible, "woff")
val `font/woff2` = fnt("woff2", NotCompressible, "woff2")
val `image/gif` = img("gif", NotCompressible, "gif")
val `image/jpeg` = img("jpeg", NotCompressible, "jpe", "jpeg", "jpg")
val `image/pict` = img("pict", Compressible, "pic", "pict")
val `image/png` = img("png", NotCompressible, "png")
val `image/svg+xml` = img("svg+xml", Compressible, "svg")
val `image/svgz` = registerFileExtensions(image("svg+xml", Gzipped, "svgz"))
val `image/tiff` = img("tiff", Compressible, "tif", "tiff")
val `image/x-icon` = img("x-icon", Compressible, "ico")
val `image/x-ms-bmp` = img("x-ms-bmp", Compressible, "bmp")
val `image/x-pcx` = img("x-pcx", Compressible, "pcx")
val `image/x-pict` = img("x-pict", Compressible, "pct")
val `image/x-quicktime` = img("x-quicktime", NotCompressible, "qif", "qti", "qtif")
val `image/x-rgb` = img("x-rgb", Compressible, "rgb")
val `image/x-xbitmap` = img("x-xbitmap", Compressible, "xbm")
val `image/x-xpixmap` = img("x-xpixmap", Compressible, "xpm")
val `image/webp` = img("webp", NotCompressible, "webp")
val `message/http` = msg("http")
val `message/delivery-status` = msg("delivery-status")
val `message/rfc822` = msg("rfc822", "eml", "mht", "mhtml", "mime")
object multipart {
def mixed (params: Map[String, String]) = new MediaType.Multipart("mixed", params)
def alternative(params: Map[String, String]) = new MediaType.Multipart("alternative", params)
def related (params: Map[String, String]) = new MediaType.Multipart("related", params)
def `form-data`(params: Map[String, String]) = new MediaType.Multipart("form-data", params)
def signed (params: Map[String, String]) = new MediaType.Multipart("signed", params)
def encrypted (params: Map[String, String]) = new MediaType.Multipart("encrypted", params)
def byteRanges (params: Map[String, String]) = new MediaType.Multipart("byteranges", params)
}