use crate::structs::request::Request;
use crate::structs::response::Response;
use crate::utils::del_vec::del_vec;
use crate::utils::get_vec::get_vec;
use crate::utils::set_vec::set_vec;
#[derive(Clone, Debug)]
pub struct Context {
pub next: bool,
pub(crate) state: Vec<(String, String)>,
pub request: Request,
pub response: Response,
}
impl Context {
pub async fn get_state(&self, key: &str) -> Option<String> {
get_vec(&self.state, key.to_owned()).await
}
pub async fn set_state(&mut self, key: &str, value: &str) {
self.state = set_vec(&self.state, key.to_owned(), value.to_owned()).await;
}
pub async fn del_state(&mut self, key: &str) {
self.state = del_vec(&self.state, key.to_owned()).await;
}
}