Module cache_buster::filemap [−][src]
Expand description
Module describing runtime compoenet for fetching modified filenames
+Module cache_buster::filemap [−][src]
Expand description
Module describing runtime compoenet for fetching modified filenames
Add the following tou your program to load the filemap during compiletime:
diff --git a/cache_buster/filemap/struct.Files.html b/cache_buster/filemap/struct.Files.html index ee52247..3d24cfd 100644 --- a/cache_buster/filemap/struct.Files.html +++ b/cache_buster/filemap/struct.Files.html @@ -1,21 +1,21 @@ -Files in cache_buster::filemap - Rust Struct cache_buster::
filemap:: [−][src]Files pub struct Files { /* fields omitted */ }Expand description
Filemap struct
+Files in cache_buster::filemap - Rust Struct cache_buster::
filemap:: [−][src]Files pub struct Files { /* fields omitted */ }Expand description
Filemap struct
maps original names to generated names
-Implementations
Load filemap in main program. Should be called from main program
-Get relative file path
+Implementations
Load filemap in main program. Should be called from main program
+Get relative file path
If the modified filename path is
-./prod/test.randomhash.svg
, it will output/test.randomhash.svg
. For full path, see get_full_path.Get file path
+Trait Implementations
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,Deserialize this value from the given Serde deserializer. Read more
-
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,Deserialize this value from the given Serde deserializer. Read more
+Auto Trait Implementations
impl RefUnwindSafe for Files
impl UnwindSafe for Files
Blanket Implementations
Auto Trait Implementations
impl RefUnwindSafe for Files
impl UnwindSafe for Files
Blanket Implementations
Mutably borrows from an owned value. Read more
Performs the conversion.
diff --git a/search-index.js b/search-index.js index 4637c47..7ea2b75 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ "actix_web":{"doc":"","t":[3,17,3,3,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,5,5,0,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,3,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5],"n":["Asset","CACHE_AGE","FILES","Favicons","INDEX","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","favicons","from","from","from","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","index","initialize","initialize","into","into","into","into","into","into","into","iter","iter","iter","iter","main","register","register","register","serve_index","services","static_files","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","get_index"],"q":["actix_web","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web::index"],"d":["Embed files. Or not. You can also read files dynamically","Set a riddicolusly high cache age","create filemap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,1,2,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,0,1,2,3,4,5,6,7,3,3,6,6,0,0,0,1,2,1,2,3,4,5,6,7,3,3,6,6,0,4,5,7,0,0,0,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,0],"f":[null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["files",3]],[[],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["str",15]],[["cow",4],["option",4,["cow"]]]],[[["str",15]],[["cow",4],["option",4,["cow"]]]],[[["str",15]],[["cow",4],["option",4,["cow"]]]],[[["str",15]],[["cow",4],["option",4,["cow"]]]],[[["str",15]],["httpresponse",3]],[[["str",15]],["httpresponse",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[],["filenames",4]],[[]],[[],["result",6]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["string",3]]],"p":[[3,"FILES"],[3,"INDEX"],[3,"Asset"],[3,"static_files"],[3,"serve_index"],[3,"Favicons"],[3,"favicons"]]},\ -"cache_buster":{"doc":"What is cache busting?","t":[17,0,0,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,4,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["CACHE_BUSTER_DATA_FILE","filemap","processor","Files","borrow","borrow_mut","clone","clone_into","deserialize","eq","fmt","from","get","get_full_path","into","ne","new","serialize","to_owned","try_from","try_into","type_id","Buster","BusterBuilder","BusterBuilderError","FileExtentions","FilePaths","NoHashCategory","UninitializedField","ValidationError","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone_into","clone_into","clone_into","copy","default","fmt","fmt","fmt","fmt","follow_links","from","from","from","from","from","from","into","into","into","into","mime_types","no_hash","prefix","process","result","source","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id"],"q":["cache_buster","","","cache_buster::filemap","","","","","","","","","","","","","","","","","","","cache_buster::processor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["file to which filemap is written during compilation …","Module describing runtime compoenet for fetching modified …","Module describing file processor that changes filenames …","Filemap struct","","","","","","","","","Get relative file path","Get file path","","","Load filemap in main program. Should be called from main …","","","","","","Configuration for setting up cache-busting","Builder forBuster
.","Error type for BusterBuilder","vector of file extensions that should be avoided for hash …","list of file paths that should be avoided for file …","Items to avoid hash calculation.","Uninitialized field","Custom validation error","","","","","","","","","Builds a newBuster
.","","","","","","","copy other non-hashed files from source dire to result …","","","","","","follow symlinks?","","","","","","","","","","","mime_types for hashing","exclude these files for hashing. They will be copied over …","route prefixes","Processes files.","directory for writing results","source directory","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,2,2,0,3,3,2,4,3,5,2,4,3,5,4,2,4,5,2,4,5,4,4,2,3,3,5,4,2,4,3,3,3,5,2,4,3,5,4,4,4,5,4,4,2,4,5,3,2,4,3,5,2,4,3,5,2,4,3,5],"f":[null,null,null,null,[[]],[[]],[[],["files",3]],[[]],[[],["result",4]],[[["files",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[],[["option",4,["str"]],["str",15]]],[[],[["option",4,["string"]],["string",3]]],[[]],[[["files",3]],["bool",15]],[[["str",15]]],[[],["result",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["result",4,["buster","busterbuildererror"]],["buster",3],["busterbuildererror",4]]],[[],["nohashcategory",4]],[[],["busterbuilder",3]],[[],["buster",3]],[[]],[[]],[[]],[[["bool",15]]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["bool",15]]],[[]],[[]],[[["uninitializedfielderror",3]]],[[]],[[["string",3]]],[[]],[[]],[[]],[[]],[[]],[[["vec",3,["mime"]],["into",8,["vec"]]]],[[["nohashcategory",4],["vec",3,["nohashcategory"]]]],[[["string",3],["into",8,["string"]]]],[[],[["result",4,["error"]],["error",3]]],[[["string",3],["into",8,["string"]]]],[[["string",3],["into",8,["string"]]]],[[]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]]],"p":[[3,"Files"],[4,"NoHashCategory"],[4,"BusterBuilderError"],[3,"BusterBuilder"],[3,"Buster"]]}\ +"cache_buster":{"doc":"What is cache busting?","t":[17,0,0,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,4,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["CACHE_BUSTER_DATA_FILE","filemap","processor","Files","borrow","borrow_mut","clone","clone_into","deserialize","eq","fmt","from","get","get_full_path","into","ne","new","serialize","to_owned","try_from","try_into","type_id","Buster","BusterBuilder","BusterBuilderError","FileExtentions","FilePaths","NoHashCategory","UninitializedField","ValidationError","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone_into","clone_into","clone_into","copy","default","fmt","fmt","fmt","fmt","follow_links","from","from","from","from","from","from","into","into","into","into","mime_types","no_hash","prefix","process","result","source","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id"],"q":["cache_buster","","","cache_buster::filemap","","","","","","","","","","","","","","","","","","","cache_buster::processor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["file to which filemap is written during compilation …","Module describing runtime compoenet for fetching modified …","Module describing file processor that changes filenames …","Filemap struct","","","","","","","","","Get relative file path","Get file path","","","Load filemap in main program. Should be called from main …","","","","","","Configuration for setting up cache-busting","Builder forBuster
.","Error type for BusterBuilder","vector of file extensions that should be avoided for hash …","list of file paths that should be avoided for file …","Items to avoid hash calculation.","Uninitialized field","Custom validation error","","","","","","","","","Builds a newBuster
.","","","","","","","copy other non-hashed files from source dire to result …","","","","","","follow symlinks?","","","","","","","","","","","mime_types for hashing","exclude these files for hashing. They will be copied over …","route prefixes","Processes files.","directory for writing results","source directory","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,2,2,0,3,3,2,4,3,5,2,4,3,5,4,2,4,5,2,4,5,4,4,2,3,3,5,4,2,4,3,3,3,5,2,4,3,5,4,4,4,5,4,4,2,4,5,3,2,4,3,5,2,4,3,5,2,4,3,5],"f":[null,null,null,null,[[]],[[]],[[],["files",3]],[[]],[[],["result",4]],[[["files",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[],[["option",4,["str"]],["str",15]]],[[],[["option",4,["string"]],["string",3]]],[[]],[[["files",3]],["bool",15]],[[["str",15]]],[[],["result",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["buster",3],["busterbuildererror",4],["result",4,["buster","busterbuildererror"]]]],[[],["nohashcategory",4]],[[],["busterbuilder",3]],[[],["buster",3]],[[]],[[]],[[]],[[["bool",15]]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["bool",15]]],[[]],[[]],[[["uninitializedfielderror",3]]],[[]],[[["string",3]]],[[]],[[]],[[]],[[]],[[]],[[["vec",3,["mime"]],["into",8,["vec"]]]],[[["nohashcategory",4],["vec",3,["nohashcategory"]]]],[[["string",3],["into",8,["string"]]]],[[],[["result",4,["error"]],["error",3]]],[[["string",3],["into",8,["string"]]]],[[["string",3],["into",8,["string"]]]],[[]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]]],"p":[[3,"Files"],[4,"NoHashCategory"],[4,"BusterBuilderError"],[3,"BusterBuilder"],[3,"Buster"]]}\ }'); if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/src/cache_buster/filemap.rs.html b/src/cache_buster/filemap.rs.html index b3a0a67..39373c7 100644 --- a/src/cache_buster/filemap.rs.html +++ b/src/cache_buster/filemap.rs.html @@ -162,7 +162,6 @@ 162 163 164 -165/* * Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net> @@ -180,7 +179,6 @@ //! //! let files = Files::new(CACHE_BUSTER_DATA_FILE); //! ``` - use std::collections::HashMap; use serde::{Deserialize, Serialize}; @@ -206,8 +204,8 @@ /// /// If the modified filename path is `./prod/test.randomhash.svg`, it will /// output `/test.randomhash.svg`. For full path, see [get_full_path][Self::get_full_path]. - pub fn get<'a, 'b>(&'b self, path: impl Into<&'a str>) -> Option<&'b str> { - if let Some(path) = self.map.get(path.into()) { + pub fn get<'a, 'b>(&'b self, path: impl AsRef<str>) -> Option<&'b str> { + if let Some(path) = self.map.get(path.as_ref()) { Some(&path[self.base_dir.len()..]) // Some(&path) } else { @@ -219,8 +217,8 @@ /// /// If the modified filename path is `./prod/test.randomhash.svg`, it will /// output `/prod/test.randomhash.svg`. For relative path, see [get][Self::get]. - pub fn get_full_path<'a, 'b>(&'b self, path: impl Into<&'a str>) -> Option<&'b String> { - self.map.get(path.into()) + pub fn get_full_path<'a, 'b>(&'b self, path: impl AsRef<str>) -> Option<&'b String> { + self.map.get(path.as_ref()) } }