Przeglądaj źródła

快速处理err,请求的各类信息获取

龚成明 2 lat temu
rodzic
commit
113ab15ef9
1 zmienionych plików z 14 dodań i 1 usunięć
  1. 14 1
      chapter01/07/server2.go

+ 14 - 1
chapter01/07/server2.go

@@ -20,7 +20,20 @@ func handler_(w http.ResponseWriter, r *http.Request) {
 	mu.Lock()
 	count++
 	mu.Unlock()
-	fmt.Fprintf(w, "URL.Path = %q\n", r.URL.Path)
+	//fmt.Fprintf(w, "URL.Path = %q\n", r.URL.Path)
+
+	fmt.Fprintf(w, "%s %s %s\n", r.Method, r.URL, r.Proto)
+	for k, v := range r.Header {
+		fmt.Fprintf(w, "Header[%q]  = %q\n", k, v)
+	}
+	fmt.Fprintf(w, "Host = %q\n", r.Host)
+	fmt.Fprintf(w, "RemoteAddr = %q\n", r.RemoteAddr)
+	if err := r.ParseForm(); err != nil {
+		log.Print(err)
+	}
+	for k, v := range r.Form {
+		fmt.Fprintf(w, "Form[%q] = %q\n", k, v)
+	}
 }
 
 func counter(w http.ResponseWriter, r *http.Request) {