don't log session errors when recordings are disabled

This commit is contained in:
Eugene Pankov 2022-07-24 11:55:16 +02:00
parent 9d314988c0
commit 46492a6593
No known key found for this signature in database
GPG key ID: 5896FCBBDD1CF4F4
3 changed files with 10 additions and 6 deletions

View file

@ -25,6 +25,9 @@ pub enum Error {
#[error("Database")]
Database(#[from] sea_orm::DbErr),
#[error("Failed to serialize a recording item")]
Serialization(#[from] serde_json::Error),
#[error("Writer is closed")]
Closed,

View file

@ -1,4 +1,3 @@
use anyhow::Result;
use bytes::{Bytes, BytesMut};
use serde::{Deserialize, Serialize};
use tokio::time::Instant;
@ -6,6 +5,7 @@ use warpgate_db_entities::Recording::RecordingKind;
use super::writer::RecordingWriter;
use super::Recorder;
use super::{Result, Error};
#[derive(Serialize)]
#[serde(untagged)]
@ -84,7 +84,7 @@ impl TerminalRecorder {
}
async fn write_item(&mut self, item: &TerminalRecordingItem) -> Result<()> {
let mut serialized_item = serde_json::to_vec(&item)?;
let mut serialized_item = serde_json::to_vec(&item).map_err(|e| Error::Serialization(e))?;
serialized_item.push(b'\n');
self.writer.write(&serialized_item).await?;
Ok(())

View file

@ -21,7 +21,7 @@ use warpgate_common::auth::AuthSelector;
use warpgate_common::eventhub::{EventHub, EventSender};
use warpgate_common::recordings::{
ConnectionRecorder, TerminalRecorder, TerminalRecordingStreamId, TrafficConnectionParams,
TrafficRecorder,
TrafficRecorder, self,
};
use warpgate_common::{
authorize_ticket, AuthCredential, AuthResult, Secret, Services, SessionId, Target,
@ -705,15 +705,16 @@ impl ServerSession {
.write_pty_resize(request.col_width, request.row_height)
.await?;
}
Ok::<_, anyhow::Error>(recorder)
Ok::<_, recordings::Error>(recorder)
}
.await
{
Ok(recorder) => {
self.channel_recorders.insert(channel_id, recorder);
}
Err(error) => {
error!(channel=%channel_id, ?error, "Failed to start recording");
Err(error) => match error {
recordings::Error::Disabled => (),
error => error!(channel=%channel_id, ?error, "Failed to start recording"),
}
}
}