我正在创建一个 util 函数,它将读取请求/响应的主体并返回它。
这是我目前所做的:
func GetBody(in interface{}) []byte {
var body io.Reader
var statusCode int
switch v := in.(type) {
case *http.Request, *http.Response:
body = v.Body
statusCode = v.StatusCode
default:
log.Fatal("Only http.Request and http.Response parameters can be accepted to parse body")
}
if statusCode != 200 {
log.Fatalf("Received status code [%d] instead of [200]", statusCode)
}
body, err := ioutil.ReadAll(body)
if err != nil {
log.Fatal(err)
}
return body
}
但是我收到一个编译器错误:v.Body undefined (type interface {} is interface with no methods)
我是不是遗漏了什么,或者不可能制作一个通用函数来同时为*http.Request和*http.Response
心有法竹
小唯快跑啊
MMMHUHU
相关分类