Spaces:
Running
Running
ddotthomas
commited on
Commit
·
bfeb812
1
Parent(s):
ddb10f6
fix: modify cache key with engines used for search
Browse files- src/server/routes/search.rs +14 -1
src/server/routes/search.rs
CHANGED
@@ -123,11 +123,24 @@ async fn results(
|
|
123 |
config.safe_search,
|
124 |
);
|
125 |
|
126 |
-
let cache_key = format!(
|
127 |
"http://{}:{}/search?q={}&page={}&safesearch={}",
|
128 |
config.binding_ip, config.port, query, page, safe_search_level
|
129 |
);
|
130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
// fetch the cached results json.
|
132 |
let cached_results = cache.cached_results(&cache_key).await;
|
133 |
// check if fetched cache results was indeed fetched or it was an error and if so
|
|
|
123 |
config.safe_search,
|
124 |
);
|
125 |
|
126 |
+
let mut cache_key = format!(
|
127 |
"http://{}:{}/search?q={}&page={}&safesearch={}",
|
128 |
config.binding_ip, config.port, query, page, safe_search_level
|
129 |
);
|
130 |
|
131 |
+
// Modify the cache key adding each enabled search engine to the string
|
132 |
+
if let Some(cookie_value) = &cookie_value {
|
133 |
+
let mut engines: Vec<String> = cookie_value
|
134 |
+
.engines
|
135 |
+
.iter()
|
136 |
+
.map(|s| String::from(*s))
|
137 |
+
.collect::<Vec<String>>();
|
138 |
+
|
139 |
+
// We sort the list of engine so the cache keys will match between users. The cookie's list of engines is unordered.
|
140 |
+
engines.sort();
|
141 |
+
cache_key = cache_key + &(engines.join(""));
|
142 |
+
}
|
143 |
+
|
144 |
// fetch the cached results json.
|
145 |
let cached_results = cache.cached_results(&cache_key).await;
|
146 |
// check if fetched cache results was indeed fetched or it was an error and if so
|