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()) } }