package server import ( "encoding/json" "fmt" "net/http" log "github.com/rs/zerolog/log" ) func HelloHandler(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/hello" { http.Error(w, "404 not found.", http.StatusNotFound) return } if r.Method != "GET" { http.Error(w, "Method is not supported.", http.StatusNotFound) return } //log.Print("log testing") fmt.Fprintf(w, "Hello!") } func EchoHandler(w http.ResponseWriter, r *http.Request) { err := r.ParseMultipartForm((1 << 20) * 10) log.Error().Err(err).Msg(err.Error()) formData := r.MultipartForm /* for k, v := range r.Header { log.Print(k, " = ", v) //w.Header()[k] = v }*/ //w.WriteHeader(200) res := make(map[string]interface{}) res["FormData"] = formData res["Host"] = r.Host res["Header"] = r.Header res["URL"] = r.URL tmplBodyFromReq := json.NewDecoder(r.Body) tmplBodyFromReq.DisallowUnknownFields() var tmplBody interface{} if err := tmplBodyFromReq.Decode(&tmplBody); err != nil { log.Error().Err(err).Msg(err.Error()) } res["Body"] = tmplBody res["Method"] = r.Method res["MultipartForm"] = r.MultipartForm res["RequestURI"] = r.RequestURI //log.Print(res) FormatResponse(w, 200) _ = json.NewEncoder(w).Encode(res) /*t, err := io.Copy(w, r.Body) if err != nil { log.Print("================") log.Error().Err(err).Msg(err.Error()) w.WriteHeader(http.StatusBadRequest) _ = json.NewEncoder(w).Encode(map[string]string{"error": err.Error()}) return } log.Print(t) */ }