Sorry for the delayed answer. Got a bit side tracked last night. Here's a quick example of making a request object with a non-nil body. One thing to note that I don't think I bothered asking, HTTP GET's don't have a body so you may always get a nil value for that HTTP method. Not positive about that but it would not surprise me if it were the case.
package main
import "fmt"
import "net/http"
import "strings"
func main() {
reader := strings.NewReader("")
req, _ := http.NewRequest("POST", "http://example.com", reader)
fmt.Printf("Body != nil ? %v, value: %s END
", req.Body != nil, req.Body)
}
https://play.golang.org/p/5Fb6b2qgSo