helix/dna/cmd/
serve.rs

1use clap::Args;
2use std::path::PathBuf;
3use crate::mds::serve::serve_project;
4
5#[derive(Args)]
6pub struct ServeArgs {
7    #[arg(short, long)]
8    port: Option<u16>,
9    #[arg(long)]
10    domain: Option<String>,
11    #[arg(short, long)]
12    directory: Option<PathBuf>,
13    #[arg(long)]
14    no_convert: bool,
15    #[arg(long)]
16    cache_timeout: Option<u64>,
17    #[arg(long)]
18    max_file_size: Option<u64>,
19}   
20
21#[derive(Args)]
22pub struct ServeProjectArgs {
23    #[arg(short, long)]
24    port: Option<u16>,
25    #[arg(long)]
26    host: Option<String>,
27    directory: Option<PathBuf>,
28}
29
30pub fn run(args: ServeArgs) -> anyhow::Result<()> {
31    let port = args.port;
32    let host = args.domain;
33    let directory = args.directory;
34    let verbose = false; // Add default verbose parameter
35    let serve_result = serve_project(port, host, directory, verbose);
36    serve_result?;
37    Ok(())
38}