func NewClientHandler(bodyHandler fasthttp.RequestHandler, life time.Duration, remote string) *ClientHandler {
	return &ClientHandler{
		bodyHandler:      bodyHandler,
		rule:             DefaultRuleSet,
		life:             life,
		remoteHandlerURL: remote,
	}
}
func NewClientHandler(bodyHandler fasthttp.RequestHandler, life time.Duration, remote string) *ClientHandler {
	return &ClientHandler{
		bodyHandler:      bodyHandler,
		rule:             DefaultRuleSet,
		life:             life,
		remoteHandlerURL: remote,
	}
}
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
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