func (r *Request) BodyData() []byte {
	var err error
	if !r.bodyRead {
		if r.Body != nil {
			r.bodyData, err = ioutil.ReadAll(r.Body)
			if err != nil {
				// catch i/o timeout errors
				neterr, isNetError := err.(net.Error)
				if isNetError && neterr.Timeout() {
					panic(ghttp.NewHttpError(err, http.StatusRequestTimeout))
				} else {
					panic(err)
				}
			}
		}
		r.bodyRead = true
	}

	return r.bodyData
}
func (r *Request) BodyData() []byte {
	var err error
	if !r.bodyRead {
		if r.Body != nil {
			r.bodyData, err = ioutil.ReadAll(r.Body)
			if err != nil {
				
				neterr, isNetError := err.(net.Error)
				if isNetError && neterr.Timeout() {
					panic(ghttp.NewHttpError(err, http.StatusRequestTimeout))
				} else {
					panic(err)
				}
			}
		}
		r.bodyRead = true
	}

	return r.bodyData
}
func ( r * Request ) BodyData ( ) [ ] byte { var err error if ! r . bodyRead { if r . Body != nil { r . bodyData , err = ioutil . ReadAll ( r . Body ) if err != nil { // catch i/o timeout errors neterr , isNetError := err . ( net . Error ) if isNetError && neterr . Timeout ( ) { panic ( ghttp . NewHttpError ( err , http . StatusRequestTimeout ) ) } else { panic ( err ) } } } r . bodyRead = true } return r . bodyData }
// BodyData returns the full request body
BodyData returns the full request body