func (r *Request) File(name string, reader io.Reader) *Request {
	r.Request.File(name, reader)
	return r
}
File serializes and defines the request body as multipart/form-data
containing one file field.
package baloo
import (
	"io"
	"net/http"
	"gopkg.in/h2non/gentleman.v2"
	"gopkg.in/h2non/gentleman.v2/context"
	"gopkg.in/h2non/gentleman.v2/plugin"
	"gopkg.in/h2non/gentleman.v2/plugins/multipart"
)
var (
	UserAgent = "baloo/" + Version
)
type Request struct {
	tested bool
	Client *Client
	Request *gentleman.Request
}
func NewRequest() *Request {
	req := gentleman.NewRequest()
	req.SetHeader("User-Agent", UserAgent)
	return &Request{Request: req}
}
func (r *Request) SetClient(cli *Client) *Request {
	r.Client = cli
	r.Request.SetClient(cli.Client)
	return r
}
func (r *Request) Method(method string) *Request {
	r.Request.Middleware.UseRequest(func(ctx *context.Context, h context.Handler) {
		ctx.Request.Method = method
		h.Next(ctx)
	})
	return r
}
func (r *Request) URL(uri string) *Request {
	r.Request.URL(uri)
	return r
}
func (r *Request) BaseURL(uri string) *Request {
	r.Request.BaseURL(uri)
	return r
}
func (r *Request) Path(path string) *Request {
	r.Request.Path(path)
	return r
}
func (r *Request) AddPath(path string) *Request {
	r.Request.AddPath(path)
	return r
}
func (r *Request) Param(name, value string) *Request {
	r.Request.Param(name, value)
	return r
}
func (r *Request) Params(params map[string]string) *Request {
	r.Request.Params(params)
	return r
}
func (r *Request) SetQuery(name, value string) *Request {
	r.Request.SetQuery(name, value)
	return r
}
func (r *Request) AddQuery(name, value string) *Request {
	r.Request.AddQuery(name, value)
	return r
}
func (r *Request) SetQueryParams(params map[string]string) *Request {
	r.Request.SetQueryParams(params)
	return r
}
func (r *Request) SetHeader(name, value string) *Request {
	r.Request.SetHeader(name, value)
	return r
}
func (r *Request) AddHeader(name, value string) *Request {
	r.Request.AddHeader(name, value)
	return r
}
func (r *Request) SetHeaders(fields map[string]string) *Request {
	r.Request.SetHeaders(fields)
	return r
}
func (r *Request) AddCookie(cookie *http.Cookie) *Request {
	r.Request.AddCookie(cookie)
	return r
}
func (r *Request) AddCookies(data []*http.Cookie) *Request {
	r.Request.AddCookies(data)
	return r
}
func (r *Request) CookieJar() *Request {
	r.Request.CookieJar()
	return r
}
func (r *Request) Type(name string) *Request {
	r.Request.Type(name)
	return r
}
func (r *Request) Body(reader io.Reader) *Request {
	r.Request.Body(reader)
	return r
}
func (r *Request) BodyString(data string) *Request {
	r.Request.BodyString(data)
	return r
}
func (r *Request) JSON(data interface{}) *Request {
	r.Request.JSON(data)
	return r
}
func (r *Request) XML(data interface{}) *Request {
	r.Request.XML(data)
	return r
}
func (r *Request) Form(data multipart.FormData) *Request {
	r.Request.Form(data)
	return r
}