cinema 0.1.0

HTTP record-replay proxy for Rust tests
Documentation
use std::pin::Pin;

use crate::prelude::*;
use http_body_util::Full;
use hyper::Response;
use hyper::body::Bytes;

mod record;
pub use record::*;

mod file;
pub use file::*;

pub trait RecordReplayStore {
    fn handle(
        &mut self,
        payload: ProxyHandlerPayload<'_>,
    ) -> Result<Option<Response<Full<Bytes>>>, CinemaError>;

    fn record(&mut self, payload: RecordReplayRecord) -> Result<(), CinemaError>;

    fn commit<'a>(&'a self) -> Pin<Box<dyn Future<Output = Result<(), CinemaError>> + Send + 'a>>;
}