func NewClientHandler(bodyHandler fasthttp.RequestHandler, life time.Duration, remote string) *ClientHandler {
	return &ClientHandler{
		bodyHandler:      bodyHandler,
		rule:             DefaultRuleSet,
		life:             life,
		remoteHandlerURL: remote,
	}
}
NewClientHandler returns a new remote client handler
which asks the remote handler the cached entry's response
with a GET request, or add a response with POST request
these all are done automatically, users can use this
handler as they use the local.go/NewHandler

the ClientHandler is useful when user
wants to apply horizontal scaling to the app and
has a central http server which handles
package fhttp
import (
	"time"
	"github.com/geekypanda/httpcache/cfg"
	"github.com/geekypanda/httpcache/fhttp/rule"
	"github.com/geekypanda/httpcache/uri"
	"github.com/valyala/fasthttp"
)
type ClientHandler struct {
	bodyHandler fasthttp.RequestHandler
	rule rule.Rule
	life time.Duration
	remoteHandlerURL string
}