package main import ( "fmt" "log" "net/http" "net/http/httputil" "net/url" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:]) rq := r.URL.RawQuery m, _ := url.ParseQuery(rq) for index, element := range m { fmt.Fprintf(w, "
%s => %s", index, element) } fmt.Fprintf(w, m["k"][0]) logRequestDebug(httputil.DumpRequest(r, true)) } func apiV1Main(w http.ResponseWriter, r *http.Request) { logRequestDebug(httputil.DumpRequest(r, true)) rq := r.URL.RawQuery m, _ := url.ParseQuery(rq) fmt.Fprintf(w, m["echostr"][0]) } func main() { http.HandleFunc("/", handler) http.HandleFunc("/api", apiV1Main) //http.ListenAndServe("127.0.0.1:65500", nil) http.ListenAndServe(":65500", nil) } func logRequestDebug(data []byte, err error) { if err == nil { fmt.Printf("%s\n\n", data) } else { log.Fatalf("%s\n\n", err) } }