Skip to main content

static_web_server/directory_listing/
mod.rs

1// SPDX-License-Identifier: MIT OR Apache-2.0
2// This file is part of Static Web Server.
3// See https://static-web-server.net/ for more information
4// Copyright (C) 2019-present Jose Quintana <joseluisq.net>
5
6//! Module that provides directory listing and auto-index support.
7//!
8
9mod autoindex;
10mod dir;
11mod file;
12mod sort;
13mod style;
14
15#[cfg(feature = "directory-listing-download")]
16#[cfg_attr(docsrs, doc(cfg(feature = "directory-listing-download")))]
17pub mod download;
18
19pub(crate) use autoindex::*;
20pub use dir::*;
21
22use crate::handler::RequestHandlerOpts;
23
24/// Initializes directory listings.
25pub fn init(enabled: bool, order: u8, format: DirListFmt, handler_opts: &mut RequestHandlerOpts) {
26    handler_opts.dir_listing = enabled;
27    tracing::info!(enabled, "directory listing");
28
29    handler_opts.dir_listing_order = order;
30    tracing::info!("directory listing order code: {order}");
31
32    handler_opts.dir_listing_format = format;
33    tracing::info!(
34        "directory listing format: {:?}",
35        handler_opts.dir_listing_format
36    );
37}