summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-05-06 00:15:46 +0300
committerPaul Buetow <paul@buetow.org>2024-05-06 00:15:46 +0300
commitb289b98e9bd7d2fcd31452e1c1083bc5d3066e42 (patch)
treec4997cd65f37f8972896d47469cd5b8d24c7f8da
parent2f726100e2dd7eaef322386476a076a248ecb3d4 (diff)
returning json from /list
-rw-r--r--docs/sample-payload.json2
-rw-r--r--handlers.go9
-rw-r--r--main.go9
3 files changed, 16 insertions, 4 deletions
diff --git a/docs/sample-payload.json b/docs/sample-payload.json
index a4ead89..470d21f 100644
--- a/docs/sample-payload.json
+++ b/docs/sample-payload.json
@@ -1,3 +1,3 @@
{
- "body": "hello world"
+ "body": "hello world man"
}
diff --git a/handlers.go b/handlers.go
index 7606f12..ed030eb 100644
--- a/handlers.go
+++ b/handlers.go
@@ -1,6 +1,7 @@
package main
import (
+ "encoding/json"
"fmt"
"io"
"net/http"
@@ -45,8 +46,12 @@ func handleList(w http.ResponseWriter, r *http.Request, dataDir string) error {
if err != nil {
return err
}
- for _, id := range ids {
- fmt.Fprintf(w, id)
+
+ jsonData, err := json.Marshal(ids)
+ if err != nil {
+ return err
}
+
+ fmt.Fprint(w, string(jsonData))
return nil
}
diff --git a/main.go b/main.go
index 3735b5b..4851b8a 100644
--- a/main.go
+++ b/main.go
@@ -8,7 +8,7 @@ import (
func main() {
listenAddr := flag.String("listenAddr", "localhost:8080", "The listen address")
- dataDir := flag.String("dataDir", "./data", "The data directory")
+ dataDir := flag.String("dataDir", "data", "The data directory")
http.HandleFunc("/submit", func(w http.ResponseWriter, r *http.Request) {
if err := handleSubmit(w, r, *dataDir); err != nil {
@@ -17,6 +17,13 @@ func main() {
}
})
+ http.HandleFunc("/list", func(w http.ResponseWriter, r *http.Request) {
+ if err := handleList(w, r, *dataDir); err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ log.Println(err)
+ }
+ })
+
log.Println("Server is starting on ", *listenAddr)
if err := http.ListenAndServe(*listenAddr, nil); err != err {
log.Fatal("Error starting server: ", err)