From 1e0f8e0aaeaf1bd2ee39c02e922238b641bcf88b Mon Sep 17 00:00:00 2001 From: tjp Date: Mon, 13 Nov 2023 07:25:39 -0700 Subject: refactor contribs to work with a Protocol interface --- gopher/response.go | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) (limited to 'gopher/response.go') diff --git a/gopher/response.go b/gopher/response.go index 269176f..3651e07 100644 --- a/gopher/response.go +++ b/gopher/response.go @@ -5,12 +5,11 @@ import ( "fmt" "io" "mime" - "os" "path" "strings" "sync" - "unicode/utf8" + "tildegit.org/tjp/sliderule/internal" "tildegit.org/tjp/sliderule/internal/types" ) @@ -207,34 +206,9 @@ func GuessItemType(filepath string) types.Status { return TextFileType } - if contentsAreText(filepath) { + if internal.ContentsAreText(filepath) { return TextFileType } return BinaryFileType } - -func contentsAreText(filepath string) bool { - f, err := os.Open(filepath) - if err != nil { - return false - } - defer func() { _ = f.Close() }() - - var buf [1024]byte - n, err := f.Read(buf[:]) - if err != nil { - return false - } - - for i, c := range string(buf[:n]) { - if i+utf8.UTFMax > n { - // incomplete last char - break - } - if c == 0xFFFD || c < ' ' && c != '\n' && c != '\t' && c != '\f' { - return false - } - } - return true -} -- cgit v1.2.3