From 62ab6cc252579704fd0c3ca0e83fcb3eebaf0447 Mon Sep 17 00:00:00 2001 From: Douman Date: Mon, 25 Mar 2019 21:41:48 +0300 Subject: [PATCH] Impl Clone for Files --- actix-files/src/lib.rs | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/actix-files/src/lib.rs b/actix-files/src/lib.rs index a81f21532..31ff4cdaf 100644 --- a/actix-files/src/lib.rs +++ b/actix-files/src/lib.rs @@ -211,7 +211,6 @@ fn directory_listing( type MimeOverride = Fn(&mime::Name) -> DispositionType; -#[derive(Clone)] /// Static files handling /// /// `Files` service must be registered with `App::service()` method. @@ -238,6 +237,23 @@ pub struct Files { file_flags: named::Flags, } +impl Clone for Files { + fn clone(&self) -> Self { + Self { + directory: self.directory.clone(), + index: self.index.clone(), + show_index: self.show_index, + default: self.default.clone(), + renderer: self.renderer.clone(), + _chunk_size: self._chunk_size, + _follow_symlinks: self._follow_symlinks, + file_flags: self.file_flags, + path: self.path.clone(), + mime_override: self.mime_override.clone(), + } + } +} + impl Files { /// Create new `Files` instance for specified base directory. /// @@ -344,18 +360,7 @@ impl

NewService for Files

{ type Future = FutureResult; fn new_service(&self, _: &()) -> Self::Future { - ok(Files { - directory: self.directory.clone(), - index: self.index.clone(), - show_index: self.show_index, - default: self.default.clone(), - renderer: self.renderer.clone(), - _chunk_size: self._chunk_size, - _follow_symlinks: self._follow_symlinks, - file_flags: self.file_flags, - path: self.path.clone(), - mime_override: self.mime_override.clone(), - }) + ok(self.clone()) } }