From 6cc36360929409e8d4113aa40c5fbe875478e469 Mon Sep 17 00:00:00 2001 From: Marin Ivanov Date: Fri, 16 Jan 2026 22:41:54 +0200 Subject: fix file and text posting --- main.go | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/main.go b/main.go index 60e6e1f..c590328 100644 --- a/main.go +++ b/main.go @@ -125,39 +125,46 @@ func (s *Server) createFile(rd io.Reader, ext string, mimeType string) (string, } func (s *Server) postText(r *http.Request) (string, error) { - ext := "" + var ext string + text := r.Form.Get("text") mimeType := r.Form.Get("text_mimetype") - datard := strings.NewReader(text) - if mimeType == "auto" { - mimeType = "text/plain" - ext = "txt" + rd := io.Reader(strings.NewReader(text)) + if mimeType == "text/plain" { + ext = ".txt" + } else if mimeType == "auto" { + var err error + mimeType, ext, rd, err = detectMimetype(rd) + if err != nil { + mimeType = DefaultMimeType + } } - return s.createFile(datard, ext, mimeType) + return s.createFile(rd, ext, mimeType) } func (s *Server) postFile(r *http.Request) (string, error) { - var datard io.Reader + var ext string + var rd io.Reader - ext := "" mimeType := r.Form.Get("file_mimetype") file, _, err := r.FormFile("file") - if err == nil { + if err != nil { return "", err } defer file.Close() if mimeType == "auto" { - mimeType, ext, datard, err = detectMimetype(file) + mimeType, ext, rd, err = detectMimetype(file) if err != nil { log.Printf("Failed to detect mimetype. defaulting '%s': %s", DefaultMimeType, err) mimeType = DefaultMimeType } } else { - datard = file + rd = file } - return s.createFile(datard, ext, mimeType) + + return s.createFile(rd, ext, mimeType) } func (s *Server) formPost(w http.ResponseWriter, r *http.Request) { @@ -170,6 +177,7 @@ func (s *Server) formPost(w http.ResponseWriter, r *http.Request) { if err != nil { log.Print("Error text upload: ", err) } else { + log.Printf("Created posting: %s", textName) textLink = fmt.Sprintf("%s/%s", s.host, textName) } @@ -177,6 +185,7 @@ func (s *Server) formPost(w http.ResponseWriter, r *http.Request) { if err != nil { log.Print("Error file upload: ", err) } else { + log.Printf("Created posting: %s", fileName) fileLink = fmt.Sprintf("%s/%s", s.host, fileName) } -- cgit v1.2.3