From 41a46c05849910eee74f157b0ca91aed85873cb2 Mon Sep 17 00:00:00 2001 From: Max Lerebourg Date: Mon, 24 Oct 2022 21:56:38 +0200 Subject: [PATCH] :sparkles: add delete --- bouncer.go | 2 +- pkg/cache/cache.go | 6 +----- pkg/redis/redis.go | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/bouncer.go b/bouncer.go index e35a50f..e32ad47 100644 --- a/bouncer.go +++ b/bouncer.go @@ -54,7 +54,7 @@ func CreateConfig() *Config { return &Config{ Enabled: false, LogLevel: "INFO", - CrowdsecMode: liveMode, + CrowdsecMode: streamMode, CrowdsecLapiScheme: "http", CrowdsecLapiHost: "crowdsec:8080", CrowdsecLapiKey: "", diff --git a/pkg/cache/cache.go b/pkg/cache/cache.go index d2d43d9..f2df4bb 100644 --- a/pkg/cache/cache.go +++ b/pkg/cache/cache.go @@ -51,11 +51,7 @@ func setDecisionRedisCache(clientIP string, value string, duration int64) { } func deleteDecisionRedisCache(clientIP string) { - // err := rdb.Del(ctx, clientIP).Err() - // if err != nil { - // logger.Info("Error, could not delete in redis cache IP") - // } - // errors are not handled + redis.Del(clientIP) } func DeleteDecision(clientIP string) { diff --git a/pkg/redis/redis.go b/pkg/redis/redis.go index 136cb4b..d073af6 100644 --- a/pkg/redis/redis.go +++ b/pkg/redis/redis.go @@ -130,6 +130,9 @@ func initContext(hostnamePort string, redisCmdWrite, redisCmdRead chan RedisCmd) case "GET": data := genRedisArray([]byte("GET"), []byte(cmd.Name)) writeChan <- data + case "DEL": + data := genRedisArray([]byte("DEL"), []byte(cmd.Name)) + writeChan <- data } case response := <-readChan: data, dataBuf, err := parseResponse(response, dataBuf, &dataLen) @@ -177,7 +180,6 @@ func (sr *SimpleRedis) Init(redisHost string) { func (sr *SimpleRedis) Get(name string) ([]byte, error) { sr.redisCmd.Command = "GET" sr.redisCmd.Name = name - sr.redisCmd.Data = nil sr.redisChanWrite <- sr.redisCmd resp := <-sr.redisChanRead if resp.Error != nil { @@ -198,3 +200,14 @@ func (sr *SimpleRedis) Set(name string, data []byte, duration int64) error { } return nil } + +func (sr *SimpleRedis) Del(name string) error { + sr.redisCmd.Command = "DEL" + sr.redisCmd.Name = name + sr.redisChanWrite <- sr.redisCmd + resp := <-sr.redisChanRead + if resp.Error != nil { + return resp.Error + } + return nil +}