Moved fileType() function into types.go
This commit is contained in:
parent
e8ee96c7d6
commit
ce89e24ec9
29
cmd/files.go
29
cmd/files.go
|
@ -25,8 +25,6 @@ import (
|
|||
|
||||
_ "golang.org/x/image/bmp"
|
||||
_ "golang.org/x/image/webp"
|
||||
|
||||
"github.com/h2non/filetype"
|
||||
)
|
||||
|
||||
type maxConcurrency int
|
||||
|
@ -369,33 +367,6 @@ func pathIsValid(filePath string, paths []string) bool {
|
|||
}
|
||||
}
|
||||
|
||||
func fileType(path string, types *SupportedTypes) (bool, *SupportedType, string, error) {
|
||||
file, err := os.Open(path)
|
||||
switch {
|
||||
case errors.Is(err, os.ErrNotExist):
|
||||
return false, nil, "", nil
|
||||
case err != nil:
|
||||
return false, nil, "", err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
head := make([]byte, 261)
|
||||
file.Read(head)
|
||||
|
||||
extension := filepath.Ext(path)
|
||||
|
||||
fileType := types.Type(extension)
|
||||
|
||||
isSupported := types.IsSupported(head)
|
||||
if !isSupported {
|
||||
return false, nil, "", nil
|
||||
}
|
||||
|
||||
mimeType := (filetype.GetType(strings.TrimPrefix(extension, "."))).MIME.Value
|
||||
|
||||
return isSupported, fileType, mimeType, nil
|
||||
}
|
||||
|
||||
func pathHasSupportedFiles(path string, types *SupportedTypes) (bool, error) {
|
||||
hasSupportedFiles := make(chan bool, 1)
|
||||
|
||||
|
|
36
cmd/types.go
36
cmd/types.go
|
@ -4,6 +4,15 @@ Copyright © 2023 Seednode <seednode@seedno.de>
|
|||
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/h2non/filetype"
|
||||
)
|
||||
|
||||
type SupportedType struct {
|
||||
title func(queryParams, filePath, mime, fileName string, width, height int) string
|
||||
body func(queryParams, filePath, mime, fileName string, width, height int) string
|
||||
|
@ -56,3 +65,30 @@ func (s *SupportedTypes) IsSupported(head []byte) bool {
|
|||
|
||||
return r
|
||||
}
|
||||
|
||||
func fileType(path string, types *SupportedTypes) (bool, *SupportedType, string, error) {
|
||||
file, err := os.Open(path)
|
||||
switch {
|
||||
case errors.Is(err, os.ErrNotExist):
|
||||
return false, nil, "", nil
|
||||
case err != nil:
|
||||
return false, nil, "", err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
head := make([]byte, 261)
|
||||
file.Read(head)
|
||||
|
||||
extension := filepath.Ext(path)
|
||||
|
||||
fileType := types.Type(extension)
|
||||
|
||||
isSupported := types.IsSupported(head)
|
||||
if !isSupported {
|
||||
return false, nil, "", nil
|
||||
}
|
||||
|
||||
mimeType := (filetype.GetType(strings.TrimPrefix(extension, "."))).MIME.Value
|
||||
|
||||
return isSupported, fileType, mimeType, nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue