refact: Rename HttpScore into StaticFileHttpScore and add minimal documentation
All checks were successful
Run Check Script / check (pull_request) Successful in 1m43s
All checks were successful
Run Check Script / check (pull_request) Successful in 1m43s
This commit is contained in:
@@ -10,14 +10,25 @@ use crate::{
|
||||
topology::{HttpServer, Topology, Url},
|
||||
};
|
||||
|
||||
/// Configure an HTTP server that is provided by the Topology
|
||||
///
|
||||
/// This Score will let you easily specify a file path to be served by the HTTP server
|
||||
///
|
||||
/// For example, if you have a folder of assets at `/var/www/assets` simply do :
|
||||
///
|
||||
/// ```rust,ignore
|
||||
/// StaticFilesHttpScore {
|
||||
/// files_to_serve: url!("file:///var/www/assets"),
|
||||
/// }
|
||||
/// ```
|
||||
#[derive(Debug, new, Clone, Serialize)]
|
||||
pub struct HttpScore {
|
||||
pub struct StaticFilesHttpScore {
|
||||
files_to_serve: Url,
|
||||
}
|
||||
|
||||
impl<T: Topology + HttpServer> Score<T> for HttpScore {
|
||||
impl<T: Topology + HttpServer> Score<T> for StaticFilesHttpScore {
|
||||
fn create_interpret(&self) -> Box<dyn Interpret<T>> {
|
||||
Box::new(HttpInterpret::new(self.clone()))
|
||||
Box::new(StaticFilesHttpInterpret::new(self.clone()))
|
||||
}
|
||||
|
||||
fn name(&self) -> String {
|
||||
@@ -26,12 +37,12 @@ impl<T: Topology + HttpServer> Score<T> for HttpScore {
|
||||
}
|
||||
|
||||
#[derive(Debug, new, Clone)]
|
||||
pub struct HttpInterpret {
|
||||
score: HttpScore,
|
||||
pub struct StaticFilesHttpInterpret {
|
||||
score: StaticFilesHttpScore,
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl<T: Topology + HttpServer> Interpret<T> for HttpInterpret {
|
||||
impl<T: Topology + HttpServer> Interpret<T> for StaticFilesHttpInterpret {
|
||||
async fn execute(
|
||||
&self,
|
||||
_inventory: &Inventory,
|
||||
|
||||
Reference in New Issue
Block a user