package magic-mime

  1. Overview
  2. Docs
Map filenames to common MIME types

Install

Dune Dependency

Authors

Maintainers

Sources

magic-mime-v1.1.2.tbz
sha256=0c590bbc747531b56d392ee8f063d879df1e2026ba2dfa2d1bc98c9a9acb04eb
sha512=8264db78adc2c75b8adabc23c26ad34eab98383bd3a8f2068f2236ff3425d653c0238fbd7361e55a3d70d843413ef8671b6e97293074b4d3a1e300628d5292ab

Description

This library contains a database of MIME types that maps filename extensions into MIME types suitable for use in many Internet protocols such as HTTP or e-mail. It is generated from the mime.types file found in Unix systems, but has no dependency on a filesystem since it includes the contents of the database as an ML datastructure.

For example, here's how to lookup MIME types in the [utop] REPL:

#require "magic-mime";;
Magic_mime.lookup "/foo/bar.txt";;
- : bytes = "text/plain"
Magic_mime.lookup "bar.css";;
- : bytes = "text/css"

Published: 12 Aug 2019

README

magic-mime -- map filenames to common MIME types

This library contains a database of MIME types that maps filename extensions into MIME types suitable for use in many Internet protocols such as HTTP or e-mail. It is generated from the mime.types file found in Unix systems, but has no dependency on a filesystem since it includes the contents of the database as an ML datastructure.

For example, here's how to lookup MIME types in the [utop] REPL:

#require "magic-mime";;
Magic_mime.lookup "/foo/bar.txt";;
- : bytes = "text/plain"
Magic_mime.lookup "bar.css";;
- : bytes = "text/css"

Internals

The following files need to be edited to add MIME types:

  • mime.types: this is obtained by synching from the Apache Foundation's mime.types in the Apache Subversion repository.

  • x-mime.types: these are the extension types, so non-standard x- prefixes are used here.

  • file.types: full filenames of common occurrences that are useful to map onto a MIME type. OCaml-specific things like opam files show up here.

More information

Dependencies (2)

  1. dune
  2. ocaml >= "4.03.0"

Dev Dependencies

None

Conflicts

None