openapi-mocker 0.1.3

A simple OpenAPI 3.0 mocker
Documentation
use actix_web::{web, App, HttpServer};
use clap::Parser;
use openapi_mocker::{
    openapi::spec::Spec,
    server::{get_scope, AppState},
    Args,
};

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    let args = Args::parse();
    println!("Starting server with spec: {}", args.spec.display());

    let port = args.port.unwrap_or(8080);
    let spec = Spec::from_path(args.spec.to_str().unwrap_or("")).expect("Failed to load spec");
    let data = web::Data::new(AppState { spec });

    let server = HttpServer::new(move || App::new().app_data(data.clone()).service(get_scope()))
        .bind(("0.0.0.0", port))
        .expect("Failed to bind to port");

    server.run().await.expect("Failed to run server");

    Ok(())
}