Struct FileRecorder
pub struct FileRecorder { /* private fields */ }http and std only.Expand description
Recorder that creates one file per recording session.
Live HTTP bodies are captured into private per-exchange temporary files. Completed entries are then copied into the destination HAR by one writer, so concurrent streams cannot interleave and body memory remains bounded.
Implementations§
§impl FileRecorder
impl FileRecorder
pub fn new(dir: PathBuf, prefix: String) -> FileRecorder
pub fn new(dir: PathBuf, prefix: String) -> FileRecorder
Create a recorder for the given directory and filename prefix.
Construction does not require an active Tokio runtime. The recorder’s worker starts lazily when its first asynchronous operation is polled.
pub fn try_new_at(
path: impl AsRef<Path>,
) -> Result<FileRecorder, Box<dyn Error + Sync + Send>>
pub fn try_new_at( path: impl AsRef<Path>, ) -> Result<FileRecorder, Box<dyn Error + Sync + Send>>
Create a recorder that writes to one exact file path.
The parent directory is created when recording starts. Starting a new
recording after Recorder::stop_record replaces the same file.
pub fn try_new_at_with_log_meta_info(
path: impl AsRef<Path>,
log_meta_info: LogMetaInfo,
) -> Result<FileRecorder, Box<dyn Error + Sync + Send>>
pub fn try_new_at_with_log_meta_info( path: impl AsRef<Path>, log_meta_info: LogMetaInfo, ) -> Result<FileRecorder, Box<dyn Error + Sync + Send>>
Create an exact-path recorder with explicit HAR log metadata.
pub fn new_with_log_meta_info(
dir: PathBuf,
prefix: String,
log_meta_info: LogMetaInfo,
) -> FileRecorder
pub fn new_with_log_meta_info( dir: PathBuf, prefix: String, log_meta_info: LogMetaInfo, ) -> FileRecorder
Create a recorder with explicit HAR log metadata.
Construction does not require an active Tokio runtime. The recorder’s worker starts lazily when its first asynchronous operation is polled.
Trait Implementations§
§impl Clone for FileRecorder
impl Clone for FileRecorder
§fn clone(&self) -> FileRecorder
fn clone(&self) -> FileRecorder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for FileRecorder
impl Debug for FileRecorder
§impl Default for FileRecorder
impl Default for FileRecorder
§fn default() -> FileRecorder
fn default() -> FileRecorder
§impl Recorder for FileRecorder
impl Recorder for FileRecorder
§async fn record(&self, log: Log) -> Option<Extensions>
async fn record(&self, log: Log) -> Option<Extensions>
§async fn stop_record(&self)
async fn stop_record(&self)
§impl StreamingRecorder for FileRecorder
impl StreamingRecorder for FileRecorder
§async fn start_http_recording(
&self,
request: HttpRequestCapture,
) -> Option<<FileRecorder as StreamingRecorder>::Session>
async fn start_http_recording( &self, request: HttpRequestCapture, ) -> Option<<FileRecorder as StreamingRecorder>::Session>
Auto Trait Implementations§
impl !RefUnwindSafe for FileRecorder
impl !UnwindSafe for FileRecorder
impl Freeze for FileRecorder
impl Send for FileRecorder
impl Sync for FileRecorder
impl Unpin for FileRecorder
impl UnsafeUnpin for FileRecorder
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more