added integration tests and added message with attachments
This commit is contained in:
+17
-4
@@ -24,11 +24,14 @@ use tracing::Level;
|
||||
|
||||
const MAX_USERNAME_LENGTH: usize = 35;
|
||||
const MAX_ROOM_NAME_LENGTH: usize = 35;
|
||||
const MAX_UPLOAD_SIZE: usize = 5 * 1024 * 1024; // Not actually used for now
|
||||
const MAX_UPLOAD_SIZE: usize = 5 * 1024 * 1024;
|
||||
pub const MAX_ATTACHMENTS_PER_MESSAGE: usize = 8;
|
||||
|
||||
pub struct AppConfig {
|
||||
pub avatar_dir: PathBuf,
|
||||
pub prohibit_registration: bool,
|
||||
pub max_file_size: usize,
|
||||
pub uploads_dir: PathBuf,
|
||||
}
|
||||
|
||||
#[derive(clap::Parser, Debug)]
|
||||
@@ -50,6 +53,10 @@ pub struct Cli {
|
||||
#[arg(short, long)]
|
||||
pub no_registration: bool,
|
||||
|
||||
/// Max file upload size in bytes (default: 10MB)
|
||||
#[arg(long, default_value = "10485760")]
|
||||
pub max_file_size: usize,
|
||||
|
||||
/// Verbose mode
|
||||
#[arg(short, long)]
|
||||
pub verbose: bool,
|
||||
@@ -61,6 +68,7 @@ pub fn create_app(
|
||||
config: Arc<AppConfig>,
|
||||
messages: realtime::RealtimeMessages,
|
||||
voice: realtime::RealTimeVoices,
|
||||
use_rate_limiter: bool,
|
||||
) -> Router {
|
||||
let governor_conf = GovernorConfigBuilder::default()
|
||||
.burst_size(20)
|
||||
@@ -90,7 +98,7 @@ pub fn create_app(
|
||||
.allow_methods([Method::GET, Method::POST])
|
||||
.allow_headers([header::AUTHORIZATION, header::CONTENT_TYPE]);
|
||||
|
||||
Router::new()
|
||||
let mut router = Router::new()
|
||||
.route("/version", get(get_version))
|
||||
.merge(routes::users::routes())
|
||||
.merge(routes::rooms::routes())
|
||||
@@ -102,7 +110,6 @@ pub fn create_app(
|
||||
.layer(Extension(messages))
|
||||
.layer(Extension(voice))
|
||||
.layer(Extension(config))
|
||||
.layer(GovernorLayer::new(governor_conf))
|
||||
.layer(cors)
|
||||
.layer(DefaultBodyLimit::max(1024 * 5 * 100))
|
||||
.layer(
|
||||
@@ -110,7 +117,13 @@ pub fn create_app(
|
||||
.make_span_with(DefaultMakeSpan::new().level(Level::DEBUG))
|
||||
.on_request(())
|
||||
.on_response(DefaultOnResponse::new().level(Level::DEBUG)),
|
||||
)
|
||||
);
|
||||
|
||||
if use_rate_limiter {
|
||||
router = router.layer(GovernorLayer::new(governor_conf));
|
||||
}
|
||||
|
||||
router
|
||||
}
|
||||
|
||||
/// Public route to get current version
|
||||
|
||||
Reference in New Issue
Block a user