diff --git a/handlers.go b/handlers.go index f0ab2aec48b7770a187b5063ab4ec73b90c1c17f..e36088e839ae058faa30428a76efe205843ba23a 100644 --- a/handlers.go +++ b/handlers.go @@ -44,7 +44,7 @@ func get(w http.ResponseWriter, r *http.Request) { writeJSON(w, body, http.StatusOK) } -func post(w http.ResponseWriter, r *http.Request) { +func requestWithBody(w http.ResponseWriter, r *http.Request) { args, err := url.ParseQuery(r.URL.RawQuery) if err != nil { http.Error(w, fmt.Sprintf("error parsing query params: %s", err), http.StatusBadRequest) diff --git a/main.go b/main.go index 891dfc6bf5157189319b5ebb99feb804b91f98f0..afaf04a3ac525bbebebfeeac80c66aedf078162f 100644 --- a/main.go +++ b/main.go @@ -11,13 +11,20 @@ const maxMemory = 1024*1024*5 + 1 func app() http.Handler { h := http.NewServeMux() templateWrapper := withTemplates("templates/*.html") + h.HandleFunc("/", methods(templateWrapper(index), "GET")) h.HandleFunc("/forms/post", methods(templateWrapper(formsPost), "GET")) + h.HandleFunc("/get", methods(get, "GET")) - h.HandleFunc("/post", methods(post, "POST")) + h.HandleFunc("/post", methods(requestWithBody, "POST")) + h.HandleFunc("/put", methods(requestWithBody, "PUT")) + h.HandleFunc("/patch", methods(requestWithBody, "PATCH")) + h.HandleFunc("/delete", methods(requestWithBody, "DELETE")) + h.HandleFunc("/ip", ip) h.HandleFunc("/user-agent", userAgent) h.HandleFunc("/headers", headers) + return logger(cors(h)) }