private def abin()

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)
  }