mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-18 15:02:09 +00:00
46 lines
762 B
Go
46 lines
762 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"net/url"
|
|
"testing"
|
|
)
|
|
|
|
// PostHandler receive a list params and output.
|
|
func PostHandler(w http.ResponseWriter, r *http.Request) {
|
|
r.ParseForm()
|
|
list, ok := r.Form["list"]
|
|
if !ok {
|
|
fmt.Println("get param failed.")
|
|
return
|
|
}
|
|
for _, item := range list {
|
|
fmt.Println(item)
|
|
}
|
|
w.Write([]byte("ok"))
|
|
}
|
|
|
|
func TestPostArray(t *testing.T) {
|
|
ts := httptest.NewServer(http.HandlerFunc(PostHandler))
|
|
defer ts.Close()
|
|
|
|
res, err := http.PostForm(ts.URL, url.Values{
|
|
"list": {"foo", "bar"},
|
|
})
|
|
if err != nil {
|
|
fmt.Print(err)
|
|
return
|
|
}
|
|
defer res.Body.Close()
|
|
|
|
bytes, err := ioutil.ReadAll(res.Body)
|
|
if err != nil {
|
|
fmt.Print(err)
|
|
return
|
|
}
|
|
fmt.Println(string(bytes))
|
|
}
|