git-ar 1.1.12

Git all remotes. Git cli tool that targets both Github and Gitlab. Brings common development operations such as opening a pull request down to the shell. This is an alternative to both Github https://github.com/cli/cli and Gitlab https://gitlab.com/gitlab-org/cli cli tools.
Documentation
use crate::io::{HttpResponse, ResponseField};

pub mod filesystem;
pub mod inmemory;
pub mod nocache;

use crate::Result;
pub use inmemory::InMemoryCache;
pub use nocache::NoCache;

pub trait Cache<K = String> {
    fn get(&self, key: &K) -> Result<CacheState>;
    fn set(&self, key: &K, value: &HttpResponse) -> Result<()>;
    fn update(&self, key: &K, value: &HttpResponse, field: &ResponseField) -> Result<()>;
}

pub enum CacheState {
    Stale(HttpResponse),
    Fresh(HttpResponse),
    None,
}