summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarin Ivanov <[email protected]>2026-01-16 22:41:54 +0200
committerMarin Ivanov <[email protected]>2026-01-16 22:41:54 +0200
commit6cc36360929409e8d4113aa40c5fbe875478e469 (patch)
tree649e83d51dafa856dc004e2557369f10dca94d40
parentda07b8ded59d6d759856bbc2374f8447232f9c62 (diff)
fix file and text posting
-rw-r--r--main.go33
1 files 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)
}