func (c *Client) Params(params map[string]string) *Client {
	c.Use(url.Params(params))
	return c
}
Params replaces path params based on the given params key-value map.
package gentleman
import (
	gocontext "context"
	"net/http"
	"gopkg.in/h2non/gentleman.v2/context"
	"gopkg.in/h2non/gentleman.v2/middleware"
	"gopkg.in/h2non/gentleman.v2/plugin"
	"gopkg.in/h2non/gentleman.v2/plugins/cookies"
	"gopkg.in/h2non/gentleman.v2/plugins/headers"
	"gopkg.in/h2non/gentleman.v2/plugins/url"
)
var NewContext = context.New
var NewHandler = context.NewHandler
var NewMiddleware = middleware.New
type Client struct {
	Parent *Client
	Context *context.Context
	Middleware middleware.Middleware
}
func New() *Client {
	return &Client{
		Context:    context.New(),
		Middleware: middleware.New(),
	}
}
func (c *Client) Request() *Request {
	req := NewRequest()
	req.SetClient(c)
	return req
}
func (c *Client) Options() *Request {
	req := c.Request()
	req.Method("OPTIONS")
	return req
}
func (c *Client) Get() *Request {
	req := c.Request()
	req.Method("GET")
	return req
}
func (c *Client) Post() *Request {
	req := c.Request()
	req.Method("POST")
	return req
}
func (c *Client) Put() *Request {
	req := c.Request()
	req.Method("PUT")
	return req
}
func (c *Client) Delete() *Request {
	req := c.Request()
	req.Method("DELETE")
	return req
}
func (c *Client) Patch() *Request {
	req := c.Request()
	req.Method("PATCH")
	return req
}
func (c *Client) Head() *Request {
	req := c.Request()
	req.Method("HEAD")
	return req
}
func (c *Client) Method(name string) *Client {
	c.Middleware.UseRequest(func(ctx *context.Context, h context.Handler) {
		ctx.Request.Method = name
		h.Next(ctx)
	})
	return c
}
func (c *Client) URL(uri string) *Client {
	c.Use(url.URL(uri))
	return c
}
func (c *Client) BaseURL(uri string) *Client {
	c.Use(url.BaseURL(uri))
	return c
}
func (c *Client) Path(path string) *Client {
	c.Use(url.Path(path))
	return c
}
func (c *Client) AddPath(path string) *Client {
	c.Use(url.AddPath(path))
	return c
}
func (c *Client) Param(name, value string) *Client {
	c.Use(url.Param(name, value))
	return c
}