Skip to content

Commit 66ceb4a

Browse files
authored
Merge pull request #61 from mkantor/internalize
Encapsulate internal resolution of hidden routes.
2 parents 1974db7 + ad4c4e7 commit 66ceb4a

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

src/content/content_engine.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,13 @@ where
6161
media_type: MediaType,
6262
) -> Result<UnregisteredTemplate, TemplateError>;
6363

64-
fn get_internal(&self, route: &Route) -> Option<&ContentRepresentations>;
65-
6664
fn get(&self, route: &Route) -> Option<&ContentRepresentations>;
6765

6866
fn handlebars_registry(&self) -> &Handlebars;
6967
}
68+
pub trait InternalContentEngine {
69+
fn get_internal(&self, route: &Route) -> Option<&ContentRepresentations>;
70+
}
7071

7172
/// A [`ContentEngine`](trait.ContentEngine.html) that serves files from a
7273
/// [`ContentDirectory`](struct.ContentDirectory.html).
@@ -393,15 +394,21 @@ where
393394
self.content_registry.get(route)
394395
}
395396

396-
fn get_internal(&self, route: &Route) -> Option<&ContentRepresentations> {
397-
self.content_registry.get_internal(route)
398-
}
399-
400397
fn handlebars_registry(&self) -> &Handlebars {
401398
&self.handlebars_registry
402399
}
403400
}
404401

402+
impl<'engine, ServerInfo> InternalContentEngine
403+
for FilesystemBasedContentEngine<'engine, ServerInfo>
404+
where
405+
ServerInfo: Clone + Serialize,
406+
{
407+
fn get_internal(&self, route: &Route) -> Option<&ContentRepresentations> {
408+
self.content_registry.get_internal(route)
409+
}
410+
}
411+
405412
#[cfg(test)]
406413
mod tests {
407414
use super::test_lib::*;

src/content/handlebars_helpers/get.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use crate::content::content_engine::InternalContentEngine;
12
use crate::content::*;
23
use futures::executor;
34
use futures::stream::TryStreamExt;
@@ -29,7 +30,7 @@ where
2930
impl<ServerInfo, Engine> handlebars::HelperDef for GetHelper<ServerInfo, Engine>
3031
where
3132
ServerInfo: Clone + Serialize,
32-
Engine: ContentEngine<ServerInfo>,
33+
Engine: ContentEngine<ServerInfo> + InternalContentEngine,
3334
{
3435
fn call<'registry: 'context, 'context>(
3536
&self,

src/content/test_lib.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@ impl<'a> ContentEngine<()> for MockContentEngine<'a> {
4343
fn get(&self, _: &Route) -> Option<&ContentRepresentations> {
4444
None
4545
}
46-
fn get_internal(&self, _: &Route) -> Option<&ContentRepresentations> {
47-
None
48-
}
4946
fn handlebars_registry(&self) -> &Handlebars {
5047
&self.0
5148
}

0 commit comments

Comments
 (0)