@@ -22,6 +22,27 @@ type HTTPClient struct {
2222 httpClient * http.Client
2323}
2424
25+ func (c * HTTPClient ) Get (node string , keys []string ) ([]models.CacheItem , error ) {
26+ body := models.GetRequest {Keys : keys }
27+ req , err := c .makeRequest (http .MethodGet , c .url (node , "get" ), body )
28+ if err != nil {
29+ return []models.CacheItem {}, err
30+ }
31+ 32+ res , err := c .httpClient .Do (req )
33+ if err != nil {
34+ return []models.CacheItem {}, err
35+ }
36+ 37+ var cacheItems []models.CacheItem
38+ err = json .NewDecoder (res .Body ).Decode (& cacheItems )
39+ if err != nil {
40+ return []models.CacheItem {}, err
41+ }
42+ 43+ return cacheItems , nil
44+ }
45+ 2546func (c * HTTPClient ) Set (node string , key , value string ) (models.CacheItem , error ) {
2647 body := models.SetRequest {
2748 Key : key ,
@@ -47,9 +68,9 @@ func (c *HTTPClient) Set(node string, key, value string) (models.CacheItem, erro
4768 return item , nil
4869}
4970
50- func (c * HTTPClient ) Get (node string , keys [] string ) ([]models.CacheItem , error ) {
51- body := models.GetRequest { Keys : keys }
52- req , err := c .makeRequest (http .MethodGet , c .url (node , "get " ), body )
71+ func (c * HTTPClient ) SetBatch (node string , items map [ int ]models. CacheItem ) ([]models.CacheItem , error ) {
72+ body := models.SetBatchRequest { Items : items }
73+ req , err := c .makeRequest (http .MethodPost , c .url (node , "set/batch " ), body )
5374 if err != nil {
5475 return []models.CacheItem {}, err
5576 }
@@ -60,7 +81,7 @@ func (c *HTTPClient) Get(node string, keys []string) ([]models.CacheItem, error)
6081 }
6182
6283 var cacheItems []models.CacheItem
63- err = json .NewDecoder (res .Body ).Decode (& cacheItems )
84+ err = json .NewDecoder (res .Body ).Decode (& items )
6485 if err != nil {
6586 return []models.CacheItem {}, err
6687 }
0 commit comments