func Jar() p.Plugin {
	return p.NewRequestPlugin(func(ctx *c.Context, h c.Handler) {
		jar, _ := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
		ctx.Client.Jar = jar
		h.Next(ctx)
	})
}
Jar creates a cookie jar to store HTTP cookies when they are sent down.
package cookies
import (
	"golang.org/x/net/publicsuffix"
	c "gopkg.in/h2non/gentleman.v2/context"
	p "gopkg.in/h2non/gentleman.v2/plugin"
	"net/http"
	"net/http/cookiejar"
)
func Add(cookie *http.Cookie) p.Plugin {
	return p.NewRequestPlugin(func(ctx *c.Context, h c.Handler) {
		ctx.Request.AddCookie(cookie)
		h.Next(ctx)
	})
}
func Set(key, value string) p.Plugin {
	return p.NewRequestPlugin(func(ctx *c.Context, h c.Handler) {
		cookie := &http.Cookie{Name: key, Value: value}
		ctx.Request.AddCookie(cookie)
		h.Next(ctx)
	})
}
func DelAll() p.Plugin {
	return p.NewRequestPlugin(func(ctx *c.Context, h c.Handler) {
		ctx.Request.Header.Del("Cookie")
		h.Next(ctx)
	})
}
func SetMap(cookies map[string]string) p.Plugin {
	return p.NewRequestPlugin(func(ctx *c.Context, h c.Handler) {
		for k, v := range cookies {
			cookie := &http.Cookie{Name: k, Value: v}
			ctx.Request.AddCookie(cookie)
		}
		h.Next(ctx)
	})
}
func AddMultiple(cookies []*http.Cookie) p.Plugin {
	return p.NewRequestPlugin(func(ctx *c.Context, h c.Handler) {
		for _, cookie := range cookies {
			ctx.Request.AddCookie(cookie)
		}
		h.Next(ctx)
	})
}