package mime
import (
)
func () {
osInitMime = initMimeUnix
}
var mimeGlobs = []string{
"/usr/local/share/mime/globs2",
"/usr/share/mime/globs2",
}
var typeFiles = []string{
"/etc/mime.types",
"/etc/apache2/mime.types",
"/etc/apache/mime.types",
"/etc/httpd/conf/mime.types",
}
func ( string) error {
, := os.Open()
if != nil {
return
}
defer .Close()
:= bufio.NewScanner()
for .Scan() {
:= strings.Split(.Text(), ":")
if len() < 3 || len([0]) < 1 || len([2]) < 2 {
continue
} else if [0][0] == '#' || [2][0] != '*' {
continue
}
:= [2][1:]
if , := mimeTypes.Load(); {
continue
}
setExtensionType(, [1])
}
if := .Err(); != nil {
panic()
}
return nil
}
func ( string) {
, := os.Open()
if != nil {
return
}
defer .Close()
:= bufio.NewScanner()
for .Scan() {
:= strings.Fields(.Text())
if len() <= 1 || [0][0] == '#' {
continue
}
:= [0]
for , := range [1:] {
if [0] == '#' {
break
}
setExtensionType("."+, )
}
}
if := .Err(); != nil {
panic()
}
}
func () {
for , := range mimeGlobs {
if := loadMimeGlobsFile(); == nil {
return
}
}
for , := range typeFiles {
loadMimeFile()
}
}
func () map[string]string {
mimeGlobs = []string{""}
typeFiles = []string{"testdata/test.types"}
return map[string]string{
".T1": "application/test",
".t2": "text/test; charset=utf-8",
".png": "image/png",
}
}