Live video on the AT Protocol
1package api
2
3// Packaging a robust set of MIME types from Debian so everything
4// doesn't break when we add a new image type to the app or something.
5
6import (
7 "bufio"
8 "bytes"
9 _ "embed"
10 "mime"
11 "strings"
12)
13
14//go:embed mime.types
15var mimeTypes []byte
16
17func loadEmbeddedMimes() {
18 scanner := bufio.NewScanner(bytes.NewReader(mimeTypes))
19 for scanner.Scan() {
20 fields := strings.Fields(scanner.Text())
21 if len(fields) <= 1 || fields[0][0] == '#' {
22 continue
23 }
24 mimeType := fields[0]
25 for _, ext := range fields[1:] {
26 if ext[0] == '#' {
27 break
28 }
29 if err := mime.AddExtensionType("."+ext, mimeType); err != nil {
30 panic(err)
31 }
32 }
33 }
34 if err := scanner.Err(); err != nil {
35 panic(err)
36 }
37}