From b81e612f511854e011ee390de8dc123c17ca2ff4 Mon Sep 17 00:00:00 2001 From: Lukasz Raczylo Date: Sat, 8 Apr 2023 05:14:14 +0100 Subject: [PATCH] Avoid unnecessary copying of the whole struct. --- query.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/query.go b/query.go index fcd31aa..ce8725b 100644 --- a/query.go +++ b/query.go @@ -73,8 +73,7 @@ func (c *BaseClient) Query(queryContent string, queryVariables interface{}, quer var queryHash string var cachedResponse []byte - cbc := reflect.ValueOf(*c).Interface().(BaseClient) - cacheBaseClient := &cbc + cacheBaseClient := c query := cacheBaseClient.NewQuery(queryContent, queryVariables) @@ -86,7 +85,9 @@ func (c *BaseClient) Query(queryContent string, queryVariables interface{}, quer if !reflect.DeepEqual(queryHeadersModified, queryHeaders) { if cacheBaseClient.cache.enabled != c.cache.enabled && cacheBaseClient.cache.enabled { cacheBaseClient.Logger.Debug(cacheBaseClient, "Switching cache on as per single-request header") - c.enableCache() + cbc := reflect.ValueOf(*c).Interface().(BaseClient) + cacheBaseClient := &cbc + cacheBaseClient.enableCache() } } }