Skip to content

Commit f91c387

Browse files
committed
fix redis parsing
1 parent b18d822 commit f91c387

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

src/cache/level/redis.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ use crate::cache::level::{CacheLevel, metrics_get_handler, metrics_set_handler};
33
use crate::config;
44
use redis::aio::ConnectionManager;
55
use redis::{
6-
AsyncCommands, FromRedisValue, RedisResult, RedisWrite, SetExpiry, SetOptions, ToRedisArgs,
7-
Value, from_redis_value,
6+
AsyncCommands, FromRedisValue, ParsingError, RedisWrite, SetExpiry, SetOptions, ToRedisArgs,
7+
ToSingleRedisArg, Value, from_redis_value,
88
};
99
use serde::Serialize;
1010
use serde::de::DeserializeOwned;
@@ -212,9 +212,9 @@ impl<D> FromRedisValue for Entry<D>
212212
where
213213
D: Clone + Debug + Eq + PartialEq + DeserializeOwned,
214214
{
215-
fn from_redis_value(v: &Value) -> RedisResult<Self> {
215+
fn from_redis_value(v: Value) -> Result<Self, ParsingError> {
216216
let v: String = from_redis_value(v)?;
217-
Ok(serde_json::from_str(&v)?)
217+
Ok(serde_json::from_str(&v).map_err(|err| ParsingError::from(err.to_string()))?)
218218
}
219219
}
220220

@@ -230,3 +230,5 @@ where
230230
out.write_arg(str.as_ref())
231231
}
232232
}
233+
234+
impl<D> ToSingleRedisArg for Entry<D> where D: Clone + Debug + Eq + PartialEq + Serialize {}

0 commit comments

Comments
 (0)