aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..db2371c
--- /dev/null
+++ b/main.go
@@ -0,0 +1,48 @@
+package main
+
+import (
+ "log"
+ "net/http"
+ "io"
+ "flag"
+)
+
+var rawBody = false
+
+func handle(w http.ResponseWriter, r *http.Request) {
+ log.Println("URL:", r.URL)
+ log.Println("METHOD:", r.Method)
+ log.Println("HEADERS:")
+ h := r.Header
+ for k, v := range h {
+ log.Println(k, v)
+ }
+
+ if (!rawBody) {
+ log.Println("FORMDATA (query + post form data):")
+ err := r.ParseForm()
+ if err != nil {
+ panic(err)
+ }
+ f := r.Form
+ for k, v := range f {
+ log.Println(k, v)
+ }
+ } else {
+ b, err := io.ReadAll(r.Body)
+ if err != nil {
+ panic(err)
+ }
+ log.Println("BODY:", string(b))
+ }
+
+ log.Println("--------------------------------------")
+}
+
+func main() {
+ b := flag.Bool("b", false, "Read raw body")
+ flag.Parse()
+ rawBody = *b
+ http.HandleFunc("/", handle)
+ log.Fatal(http.ListenAndServe(":8080", nil))
+}