/
mime.go
39 lines (34 loc) · 850 Bytes
/
mime.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//nolint:gochecknoglobals
package mime
import (
"log"
stdmime "mime"
"strings"
)
var supportedAudioTypes = map[string]string{
".mp3": "audio/mpeg",
".flac": "audio/x-flac",
".aac": "audio/x-aac",
".m4a": "audio/m4a",
".m4b": "audio/m4b",
".ogg": "audio/ogg",
".opus": "audio/ogg",
".wma": "audio/x-ms-wma",
}
//nolint:gochecknoinits
func init() {
for ext, mime := range supportedAudioTypes {
if err := stdmime.AddExtensionType(ext, mime); err != nil {
log.Fatalf("adding audio type mime for ext %q: %v", ext, err)
}
}
}
var TypeByExtension = stdmime.TypeByExtension
var ParseMediaType = stdmime.ParseMediaType
var FormatMediaType = stdmime.FormatMediaType
func TypeByAudioExtension(ext string) string {
if _, ok := supportedAudioTypes[strings.ToLower(ext)]; !ok {
return ""
}
return stdmime.TypeByExtension(ext)
}