mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 02:22:26 -05:00
[bugfix] determine mime-type to use during ffprobe evaluation stage, don't bother checking against file extension (#3506)
* determine mime-type to use during ffprobe evaluation stage, don't bother rechecking by file extension * set mjpeg content-type * fix up tests expecting differing default values
This commit is contained in:
parent
d2820a1470
commit
8f288f1689
16 changed files with 85 additions and 1378 deletions
5
vendor/codeberg.org/gruf/go-mimetypes/README.md
generated
vendored
5
vendor/codeberg.org/gruf/go-mimetypes/README.md
generated
vendored
|
|
@ -1,5 +0,0 @@
|
|||
# go-mimetypes
|
||||
|
||||
A generated lookup map of file extensions to mimetypes, from data provided at: https://raw.githubusercontent.com/micnic/mime.json/master/index.json
|
||||
|
||||
This allows determining mimetype without relying on OS mimetype lookups.
|
||||
42
vendor/codeberg.org/gruf/go-mimetypes/get-mime-types.sh
generated
vendored
42
vendor/codeberg.org/gruf/go-mimetypes/get-mime-types.sh
generated
vendored
|
|
@ -1,42 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Mime types JSON source
|
||||
URL='https://raw.githubusercontent.com/micnic/mime.json/master/index.json'
|
||||
|
||||
# Define intro to file
|
||||
FILE='
|
||||
// This is an automatically generated file, do not edit
|
||||
package mimetypes
|
||||
|
||||
|
||||
// MimeTypes is a map of file extensions to mime types.
|
||||
var MimeTypes = map[string]string{
|
||||
'
|
||||
|
||||
# Set break on new-line
|
||||
IFS='
|
||||
'
|
||||
|
||||
for line in $(curl -fL "$URL" | grep -E '".+"\s*:\s*".+"'); do
|
||||
# Trim final whitespace
|
||||
line=$(echo "$line" | sed -e 's|\s*$||')
|
||||
|
||||
# Ensure it ends in a comma
|
||||
[ "${line%,}" = "$line" ] && line="${line},"
|
||||
|
||||
# Add to file
|
||||
FILE="${FILE}${line}
|
||||
"
|
||||
done
|
||||
|
||||
# Add final statement to file
|
||||
FILE="${FILE}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
# Write to file
|
||||
echo "$FILE" > 'mime.gen.go'
|
||||
|
||||
# Check for valid go
|
||||
gofumpt -w 'mime.gen.go'
|
||||
1207
vendor/codeberg.org/gruf/go-mimetypes/mime.gen.go
generated
vendored
1207
vendor/codeberg.org/gruf/go-mimetypes/mime.gen.go
generated
vendored
File diff suppressed because it is too large
Load diff
47
vendor/codeberg.org/gruf/go-mimetypes/mime.go
generated
vendored
47
vendor/codeberg.org/gruf/go-mimetypes/mime.go
generated
vendored
|
|
@ -1,47 +0,0 @@
|
|||
package mimetypes
|
||||
|
||||
import "path"
|
||||
|
||||
// PreferredExts defines preferred file
|
||||
// extensions for input mime types (as there
|
||||
// can be multiple extensions per mime type).
|
||||
var PreferredExts = map[string]string{
|
||||
MimeTypes["mp3"]: "mp3", // audio/mpeg
|
||||
MimeTypes["mpeg"]: "mpeg", // video/mpeg
|
||||
}
|
||||
|
||||
// GetForFilename returns mimetype for given filename.
|
||||
func GetForFilename(filename string) (string, bool) {
|
||||
ext := path.Ext(filename)
|
||||
if len(ext) < 1 {
|
||||
return "", false
|
||||
}
|
||||
mime, ok := MimeTypes[ext[1:]]
|
||||
return mime, ok
|
||||
}
|
||||
|
||||
// GetFileExt returns the file extension to use for mimetype. Relying first upon
|
||||
// the 'PreferredExts' map. It simply returns the first match there may multiple.
|
||||
func GetFileExt(mimeType string) (string, bool) {
|
||||
ext, ok := PreferredExts[mimeType]
|
||||
if ok {
|
||||
return ext, true
|
||||
}
|
||||
for ext, mime := range MimeTypes {
|
||||
if mime == mimeType {
|
||||
return ext, true
|
||||
}
|
||||
}
|
||||
return "", false
|
||||
}
|
||||
|
||||
// GetFileExts returns known file extensions used for mimetype.
|
||||
func GetFileExts(mimeType string) []string {
|
||||
var exts []string
|
||||
for ext, mime := range MimeTypes {
|
||||
if mime == mimeType {
|
||||
exts = append(exts, ext)
|
||||
}
|
||||
}
|
||||
return exts
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue