diff options
| author | Marin Ivanov <[email protected]> | 2026-01-16 22:41:54 +0200 |
|---|---|---|
| committer | Marin Ivanov <[email protected]> | 2026-01-16 22:41:54 +0200 |
| commit | 6cc36360929409e8d4113aa40c5fbe875478e469 (patch) | |
| tree | 649e83d51dafa856dc004e2557369f10dca94d40 | |
| parent | da07b8ded59d6d759856bbc2374f8447232f9c62 (diff) | |
fix file and text posting
| -rw-r--r-- | main.go | 33 |
1 files changed, 21 insertions, 12 deletions
@@ -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) } |
