: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"
|
name = "pmoapp"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"async-trait",
|
||||||
"pmoserver",
|
"pmoserver",
|
||||||
"rust-embed",
|
"rust-embed",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ rust-embed = "8.5.0"
|
|||||||
path = "../pmoserver"
|
path = "../pmoserver"
|
||||||
optional = true
|
optional = true
|
||||||
|
|
||||||
|
[dependencies.async-trait]
|
||||||
|
optional = true
|
||||||
|
version = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
pmoserver = ["dep:pmoserver"]
|
pmoserver = ["dep:pmoserver", "dep:async-trait"]
|
||||||
|
|||||||
@@ -237,6 +237,8 @@
|
|||||||
//! - [Vue.js Documentation](https://vuejs.org/)
|
//! - [Vue.js Documentation](https://vuejs.org/)
|
||||||
//! - [Vite Documentation](https://vitejs.dev/)
|
//! - [Vite Documentation](https://vitejs.dev/)
|
||||||
|
|
||||||
|
#[cfg(feature = "pmoserver")]
|
||||||
|
use async_trait::async_trait;
|
||||||
use rust_embed::RustEmbed;
|
use rust_embed::RustEmbed;
|
||||||
|
|
||||||
/// Structure représentant l'application web embarquée.
|
/// Structure représentant l'application web embarquée.
|
||||||
@@ -285,6 +287,8 @@ pub struct Webapp;
|
|||||||
/// }
|
/// }
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
#[cfg(feature = "pmoserver")]
|
||||||
|
#[async_trait]
|
||||||
pub trait WebAppExt {
|
pub trait WebAppExt {
|
||||||
/// Ajoute une Single Page Application au serveur.
|
/// Ajoute une Single Page Application au serveur.
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -27,10 +27,14 @@
|
|||||||
//! # }
|
//! # }
|
||||||
//! ```
|
//! ```
|
||||||
|
|
||||||
|
#[cfg(feature = "pmoserver")]
|
||||||
|
use async_trait::async_trait;
|
||||||
use crate::WebAppExt;
|
use crate::WebAppExt;
|
||||||
use pmoserver::Server;
|
use pmoserver::Server;
|
||||||
use rust_embed::RustEmbed;
|
use rust_embed::RustEmbed;
|
||||||
|
|
||||||
|
#[cfg(feature = "pmoserver")]
|
||||||
|
#[async_trait]
|
||||||
impl WebAppExt for Server {
|
impl WebAppExt for Server {
|
||||||
async fn add_webapp<W>(&mut self, path: &str)
|
async fn add_webapp<W>(&mut self, path: &str)
|
||||||
where
|
where
|
||||||
|
|||||||
Reference in New Issue
Block a user