pdk-cache-lib-0.0.0-alpha.6 has been yanked.
PDK Cache Library

pdk-cache-lib is a library that provides data caching functionality for building Flex Gateway custom policies.
You may be looking for:
cache-lib in action
[dependencies]
pdk = { version = "1.6"}
use anyhow::Result;
use pdk::cache::{Cache, CacheBuilder, CacheError};
use pdk::hl::*;
const MAX_CACHE_ENTRIES: usize = 100;
async fn request_filter(request_state: RequestState, cache:&dyn Cache) {
let _headers_state = request_state.into_headers_state().await;
let _save_result: Result<(), CacheError> = cache.save("example-key", "example-value".as_bytes().to_vec());
let _retrieved_value: Option<Vec<u8>> = cache.get("example-key");
let _deleted_value: Option<Vec<u8>> = cache.delete("example-key");
cache.purge();
}
async fn response_filter(response_state: ResponseState, cache:&dyn Cache) {
let _headers_state = response_state.into_headers_state().await;
let _save_result: Result<(), CacheError> = cache.save("example-key", "example-value".as_bytes().to_vec());
let _retrieved_value: Option<Vec<u8>> = cache.get("example-key");
let _deleted_value: Option<Vec<u8>> = cache.delete("example-key");
cache.purge();
}
#[entrypoint]
async fn configure(launcher: Launcher, cache_builder: CacheBuilder) -> Result<()> {
let cache = cache_builder
.new("example-id".to_string())
.max_entries(MAX_CACHE_ENTRIES)
.build();
let filter = on_request(|rs| request_filter(rs, &cache))
.on_response(|rs| response_filter(rs, &cache));
launcher.launch(filter).await?;
Ok(())
}
License