:sparkles!: add async-trait dependency for WebAppExt trait
- Add `async_trait` as an optional依赖ency in pmoapp/Cargo.toml - Enable usage of `#[async_trait]` on WebAppExt trait and its impl for Server - Guard async-related code with `#[cfg(feature = "pmoserver")]`
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -3848,6 +3848,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
|
||||
name = "pmoapp"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"pmoserver",
|
||||
"rust-embed",
|
||||
]
|
||||
|
||||
@@ -10,6 +10,10 @@ rust-embed = "8.5.0"
|
||||
path = "../pmoserver"
|
||||
optional = true
|
||||
|
||||
[dependencies.async-trait]
|
||||
optional = true
|
||||
version = "0.1"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
pmoserver = ["dep:pmoserver"]
|
||||
pmoserver = ["dep:pmoserver", "dep:async-trait"]
|
||||
|
||||
@@ -237,6 +237,8 @@
|
||||
//! - [Vue.js Documentation](https://vuejs.org/)
|
||||
//! - [Vite Documentation](https://vitejs.dev/)
|
||||
|
||||
#[cfg(feature = "pmoserver")]
|
||||
use async_trait::async_trait;
|
||||
use rust_embed::RustEmbed;
|
||||
|
||||
/// Structure représentant l'application web embarquée.
|
||||
@@ -285,6 +287,8 @@ pub struct Webapp;
|
||||
/// }
|
||||
/// }
|
||||
/// ```
|
||||
#[cfg(feature = "pmoserver")]
|
||||
#[async_trait]
|
||||
pub trait WebAppExt {
|
||||
/// Ajoute une Single Page Application au serveur.
|
||||
///
|
||||
|
||||
@@ -27,10 +27,14 @@
|
||||
//! # }
|
||||
//! ```
|
||||
|
||||
#[cfg(feature = "pmoserver")]
|
||||
use async_trait::async_trait;
|
||||
use crate::WebAppExt;
|
||||
use pmoserver::Server;
|
||||
use rust_embed::RustEmbed;
|
||||
|
||||
#[cfg(feature = "pmoserver")]
|
||||
#[async_trait]
|
||||
impl WebAppExt for Server {
|
||||
async fn add_webapp<W>(&mut self, path: &str)
|
||||
where
|
||||
|
||||
Reference in New Issue
Block a user