From f173d052d3f8679716862d233d8751f67d3b197c Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 5 May 2024 15:43:29 +0300 Subject: can retrieve JSON payload --- submit.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 submit.go (limited to 'submit.go') diff --git a/submit.go b/submit.go new file mode 100644 index 0000000..2c65d6b --- /dev/null +++ b/submit.go @@ -0,0 +1,39 @@ +package main + +import ( + "crypto/sha256" + "fmt" + "io" + "net/http" + "time" +) + +func handleSubmit(w http.ResponseWriter, r *http.Request, dataDir string) error { + if r.Method != "POST" { + return fmt.Errorf("Expexted POST request") + } + + bytes, err := io.ReadAll(r.Body) + if err != nil { + return err + } + + entry, err := newEntry(bytes) + if err != nil { + return err + } + + filePath := fmt.Sprintf("%s/%s/%x.json", dataDir, + time.Now().Format("2006"), sha256.Sum256(bytes)) + + jsonStr, err := entry.serialize() + if err != nil { + return err + } + + if err := saveFile(filePath, jsonStr); err != nil { + return err + } + + return nil +} -- cgit v1.2.3