package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"net/http/httputil"
)
func check(err error) {
if err != nil {
panic(err)
}
}
type Test struct {
Name string
}
func handler(w http.ResponseWriter, r *http.Request) {
dmp, err := httputil.DumpRequestOut(r, true)
check(err)
fmt.Printf("Dump: %s\n", dmp)
f, _, err := r.FormFile("file")
check(err)
defer f.Close()
var buf bytes.Buffer
io.Copy(&buf, f)
b := buf.Bytes()
fmt.Printf("File: %s\n", b)
var t Test
err = json.Unmarshal(b, &t)
check(err)
fmt.Printf("Success: %s", t.Name)
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}