SYMBOL INDEX (277 symbols across 33 files) FILE: src/archive.rs type ArchiveMethod (line 17) | pub enum ArchiveMethod { method extension (line 29) | pub fn extension(self) -> String { method content_type (line 38) | pub fn content_type(self) -> String { method is_enabled (line 47) | pub fn is_enabled(self, tar_enabled: bool, tar_gz_enabled: bool, zip_e... method create_archive (line 60) | pub fn create_archive( function tar_gz (line 80) | fn tar_gz(dir: &Path, skip_symlinks: bool, out: W) -> Result<(), Runt... function tar_dir (line 118) | fn tar_dir(dir: &Path, skip_symlinks: bool, out: W) -> Result<(), Run... function tar (line 139) | fn tar( function create_zip_from_directory (line 196) | fn create_zip_from_directory( function zip_data (line 313) | fn zip_data(src_dir: &Path, skip_symlinks: bool, mut out: W) -> Resul... function zip_dir (line 332) | fn zip_dir(dir: &Path, skip_symlinks: bool, out: W) -> Result<(), Run... FILE: src/args.rs type MediaType (line 13) | pub enum MediaType { type DuplicateFile (line 20) | pub enum DuplicateFile { type SizeDisplay (line 28) | pub enum SizeDisplay { method fmt (line 34) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type LogColor (line 43) | pub enum LogColor { type CliArgs (line 52) | pub struct CliArgs { function parse_interface (line 465) | fn parse_interface(src: &str) -> Result { function validate_is_dir_and_exists (line 470) | fn validate_is_dir_and_exists(s: &str) -> Result { type AuthParseError (line 483) | pub enum AuthParseError { function parse_auth (line 504) | pub fn parse_auth(src: &str) -> Result Result { function parse_file_mode (line 567) | pub fn parse_file_mode(src: &str) -> Result { function create_required_auth (line 579) | fn create_required_auth(username: &str, password: &str, encrypt: &str) -... function parse_auth_valid (line 602) | fn parse_auth_valid(auth_string: &str, username: &str, password: &str, e... function parse_auth_invalid (line 628) | fn parse_auth_invalid(auth_string: &str, err_msg: &str) { FILE: src/auth.rs type BasicAuthParams (line 9) | pub struct BasicAuthParams { method from (line 15) | fn from(auth: BasicAuth) -> Self { type RequiredAuthPassword (line 25) | pub enum RequiredAuthPassword { type RequiredAuth (line 33) | pub struct RequiredAuth { function match_auth (line 39) | pub fn match_auth(basic_auth: &BasicAuthParams, required_auth: &[Require... function compare_password (line 48) | pub fn compare_password(basic_auth_pwd: &str, required_auth_pwd: &Requir... function compare_hash (line 61) | pub fn compare_hash(password: &str, hash: &[u8]) -> bool { function get_hash (line 66) | pub fn get_hash(text: &str) -> Vec { type CurrentUser (line 72) | pub struct CurrentUser { function handle_auth (line 76) | pub async fn handle_auth( function get_hash_func (line 104) | fn get_hash_func(name: &str) -> impl FnOnce(&str) -> Vec { function test_get_hash (line 117) | fn test_get_hash(password: &str, hash_method: &str, hash: &str) { function create_required_auth (line 125) | fn create_required_auth(username: &str, password: &str, encrypt: &str) -... function test_single_auth (line 150) | fn test_single_auth( function account_sample (line 172) | fn account_sample() -> Vec { function test_multiple_auth_pass (line 195) | fn test_multiple_auth_pass( function test_multiple_auth_wrong_username (line 210) | fn test_multiple_auth_wrong_username(account_sample: Vec) { function test_multiple_auth_wrong_password (line 229) | fn test_multiple_auth_wrong_password( FILE: src/config.rs constant ROUTE_ALPHABET (line 25) | const ROUTE_ALPHABET: [char; 16] = [ type MiniserveConfig (line 31) | pub struct MiniserveConfig { method try_from_args (line 207) | pub fn try_from_args(args: CliArgs) -> Result { function validate_allowed_paths (line 385) | fn validate_allowed_paths(paths: &[impl AsRef], allow_hidden: bool... FILE: src/consts.rs constant QR_EC_LEVEL (line 4) | pub const QR_EC_LEVEL: ECL = ECL::L; constant SVG_QR_MARGIN (line 7) | pub const SVG_QR_MARGIN: usize = 1; FILE: src/errors.rs type StartupError (line 16) | pub enum StartupError { type RuntimeError (line 35) | pub enum RuntimeError { method status_code (line 94) | fn status_code(&self) -> StatusCode { method error_response (line 115) | fn error_response(&self) -> HttpResponse { function error_page_middleware (line 132) | pub async fn error_page_middleware( function map_error_page (line 157) | fn map_error_page(req: &HttpRequest, head: &mut ResponseHead, body: BoxB... function log_error_chain (line 183) | pub fn log_error_chain(description: String) { FILE: src/file_op.rs type FileHash (line 35) | enum FileHash { method get_hasher (line 41) | pub fn get_hasher(&self) -> Box { method get_hash (line 48) | pub fn get_hash(&self) -> &str { function recursive_dir_size (line 61) | pub async fn recursive_dir_size(dir: &Path) -> Result { function save_file (line 111) | async fn save_file( type HandleMultipartOpts (line 298) | struct HandleMultipartOpts<'a> { function handle_multipart (line 308) | async fn handle_multipart( type FileOpQueryParameters (line 443) | pub struct FileOpQueryParameters { function upload_file (line 452) | pub async fn upload_file( function rm_file (line 549) | pub async fn rm_file( FILE: src/file_utils.rs function sanitize_path (line 12) | pub fn sanitize_path(path: impl AsRef, traverse_hidden: bool) -> O... function contains_symlink (line 41) | pub fn contains_symlink(path: impl AsRef) -> io::Result { function get_default_filemode (line 58) | pub fn get_default_filemode() -> u16 { function test_sanitize_path (line 77) | fn test_sanitize_path(#[case] input: &str, #[case] output: &str) { function test_sanitize_path_no_hidden_files (line 92) | fn test_sanitize_path_no_hidden_files(#[case] input: &str) { FILE: src/listing.rs constant QUERY (line 27) | pub const QUERY: &AsciiSet = &CONTROLS.add(b' ').add(b'"').add(b'#').add... constant PATH (line 28) | pub const PATH: &AsciiSet = &QUERY.add(b'?').add(b'`').add(b'{').add(b'}'); constant USERINFO (line 29) | pub const USERINFO: &AsciiSet = &PATH constant COMPONENT (line 40) | pub const COMPONENT: &AsciiSet = &USERINFO.add(b'$').add(b'%').add(b'&')... type ListingQueryParameters (line 45) | pub struct ListingQueryParameters { type SortingMethod (line 56) | pub enum SortingMethod { type SortingOrder (line 70) | pub enum SortingOrder { type EntryType (line 86) | pub enum EntryType { type Entry (line 95) | pub struct Entry { method new (line 116) | fn new( method is_dir (line 135) | pub fn is_dir(&self) -> bool { method is_file (line 140) | pub fn is_file(&self) -> bool { type Breadcrumb (line 146) | pub struct Breadcrumb { method new (line 155) | fn new(name: String, link: String) -> Self { function file_handler (line 160) | pub async fn file_handler(req: HttpRequest) -> actix_web::Result ListingQueryParame... FILE: src/main.rs function main (line 50) | fn main() -> Result<()> { function run (line 77) | async fn run(miniserve_config: MiniserveConfig) -> Result<(), StartupErr... function create_tcp_listener (line 335) | fn create_tcp_listener(addr: SocketAddr) -> io::Result { function configure_header (line 347) | fn configure_header(conf: &MiniserveConfig) -> middleware::DefaultHeaders { function configure_app (line 357) | fn configure_app(app: &mut web::ServiceConfig, conf: &MiniserveConfig) { function dav_handler (line 474) | async fn dav_handler(req: DavRequest, davhandler: web::Data)... function error_404 (line 478) | async fn error_404(req: HttpRequest) -> Result impl Responder { type ApiCommand (line 487) | enum ApiCommand { function api (line 494) | async fn api( function favicon (line 531) | async fn favicon() -> impl Responder { function css (line 538) | async fn css(stylesheet: web::Data) -> impl Responder { FILE: src/pipe.rs type Pipe (line 12) | pub struct Pipe { method new (line 19) | pub fn new(destination: Sender>) -> Self { method drop (line 28) | fn drop(&mut self) { method write (line 34) | fn write(&mut self, buf: &[u8]) -> io::Result { method flush (line 46) | fn flush(&mut self) -> io::Result<()> { FILE: src/renderer.rs function page (line 22) | pub fn page( function raw (line 244) | pub fn raw(entries: Vec, is_root: bool, conf: &MiniserveConfig) -... function qr_code_svg (line 278) | fn qr_code_svg(url: &Uri, margin: usize) -> Result { function breadcrumbs_to_path_string (line 288) | fn breadcrumbs_to_path_string(breadcrumbs: &[Breadcrumb]) -> String { function version_footer (line 297) | fn version_footer() -> Markup { function wget_footer (line 308) | fn wget_footer( function build_upload_action (line 360) | fn build_upload_action( function build_mkdir_action (line 378) | fn build_mkdir_action(mkdir_route: &str, encoded_dir: &str) -> String { constant THEME_PICKER_CHOICES (line 382) | const THEME_PICKER_CHOICES: &[(&str, &str)] = &[ type ThemeSlug (line 392) | pub enum ThemeSlug { method css (line 406) | pub fn css(&self) -> &str { method css_dark (line 416) | pub fn css_dark(&self) -> String { function qr_spoiler (line 422) | fn qr_spoiler(show_qrcode: bool, content: &Uri) -> Markup { function color_scheme_selector (line 441) | fn color_scheme_selector(hide_theme_selector: bool) -> Markup { function color_scheme_link (line 461) | fn color_scheme_link(color_scheme: &(&str, &str)) -> Markup { function archive_button (line 472) | fn archive_button( function make_link_with_trailing_slash (line 497) | fn make_link_with_trailing_slash(link: &str) -> String { function parametrized_link (line 506) | fn parametrized_link( function sortable_title (line 533) | fn sortable_title( function rm_form (line 566) | fn rm_form(rm_route: &str, encoded_path: &str, prefix: &str) -> Markup { type ActionsConf (line 578) | struct ActionsConf<'a> { function entry_row (line 584) | fn entry_row( function arrow_up (line 675) | fn arrow_up() -> Markup { function chevron_left (line 680) | fn chevron_left() -> Markup { function chevron_up (line 685) | fn chevron_up() -> Markup { function chevron_down (line 690) | fn chevron_down() -> Markup { function page_header (line 695) | fn page_header( function convert_to_local (line 1154) | fn convert_to_local(src_time: Option) -> Option { function humanize_systemtime (line 1162) | fn humanize_systemtime(time: Option) -> Option { function render_error (line 1167) | pub fn render_error( function to_html (line 1210) | fn to_html(wget_part: &str) -> String { function uri (line 1216) | fn uri(x: &str) -> Uri { function test_wget_footer_trivial (line 1221) | fn test_wget_footer_trivial() { function test_wget_footer_with_root_dir (line 1229) | fn test_wget_footer_with_root_dir() { function test_wget_footer_with_root_dir_and_user (line 1242) | fn test_wget_footer_with_root_dir_and_user() { function test_wget_footer_escaping (line 1257) | fn test_wget_footer_escaping() { function test_wget_footer_ip (line 1272) | fn test_wget_footer_ip() { function test_wget_footer_externalurl (line 1280) | fn test_wget_footer_externalurl() { function test_rm_form_strips_prefix (line 1293) | fn test_rm_form_strips_prefix() { FILE: src/webdav_fs.rs type RestrictedFs (line 23) | pub struct RestrictedFs { method new (line 34) | pub fn new>(base: P, show_hidden: bool, no_symlinks: bo... method is_path_allowed (line 46) | async fn is_path_allowed(&self, path: &DavPath) -> bool { function path_has_hidden_components (line 58) | fn path_has_hidden_components(path: &DavPath) -> bool { function path_has_symlink_components (line 66) | async fn path_has_symlink_components(path: &DavPath, base_path: &Path) -... method open (line 87) | fn open<'a>( method read_dir (line 101) | fn read_dir<'a>( method metadata (line 155) | fn metadata<'a>(&'a self, path: &'a DavPath) -> DavFsFuture<'a, Box(&'a self, path: &'a DavPath) -> DavFsFuture<'a, ... FILE: tests/api.rs function api_dir_size (line 19) | fn api_dir_size( function api_dir_size_prevent_path_transversal_attacks (line 50) | fn api_dir_size_prevent_path_transversal_attacks( FILE: tests/archive.rs type ArchiveKind (line 12) | enum ArchiveKind { method server_option (line 19) | fn server_option(&self) -> &'static str { method link_text (line 27) | fn link_text(&self) -> &'static str { method download_param (line 35) | fn download_param(&self) -> &'static str { function fetch_index_document (line 44) | fn fetch_index_document( function download_archive_bytes (line 55) | fn download_archive_bytes( function assert_link_presence (line 67) | fn assert_link_presence(document: &Document, present: &[&str], absent: &... function archives_are_disabled_links (line 88) | fn archives_are_disabled_links(server: TestServer, reqwest_client: Clien... function archives_are_disabled_downloads (line 108) | fn archives_are_disabled_downloads( function archives_are_disabled_when_indexing_disabled_links (line 121) | fn archives_are_disabled_when_indexing_disabled_links( function archives_are_disabled_when_indexing_disabled_downloads (line 145) | fn archives_are_disabled_when_indexing_disabled_downloads( function archives_links_and_downloads (line 162) | fn archives_links_and_downloads( type ExpectedLen (line 207) | enum ExpectedLen { function archive_behave_differently_with_broken_symlinks (line 222) | fn archive_behave_differently_with_broken_symlinks( function zip_archives_store_entry_name_in_unix_style (line 243) | fn zip_archives_store_entry_name_in_unix_style( FILE: tests/auth.rs function auth_accepts (line 22) | fn auth_accepts( function auth_rejects (line 69) | fn auth_rejects( function auth_multiple_accounts_pass (line 111) | fn auth_multiple_accounts_pass( function auth_multiple_accounts_wrong_username (line 135) | fn auth_multiple_accounts_wrong_username( function auth_multiple_accounts_wrong_password (line 157) | fn auth_multiple_accounts_wrong_password( FILE: tests/auth_file.rs function auth_file_accepts (line 13) | fn auth_file_accepts( function auth_file_rejects (line 40) | fn auth_file_rejects( FILE: tests/bind.rs function bind_fails (line 17) | fn bind_fails(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> Resu... function bind_ipv4_ipv6 (line 35) | fn bind_ipv4_ipv6( function validate_printed_urls (line 67) | fn validate_printed_urls( FILE: tests/cli.rs function help_shows (line 13) | fn help_shows() -> Result<(), Error> { function version_shows (line 24) | fn version_shows() -> Result<(), Error> { function print_completions (line 36) | fn print_completions() -> Result<(), Error> { function print_completions_invalid_shell (line 50) | fn print_completions_invalid_shell() -> Result<(), Error> { FILE: tests/create_directories.rs function creating_directories_works (line 15) | fn creating_directories_works( function creating_directories_is_prevented (line 62) | fn creating_directories_is_prevented( function creating_directories_through_symlinks_is_prevented (line 109) | fn creating_directories_through_symlinks_is_prevented( function prevent_path_transversal_attacks (line 154) | fn prevent_path_transversal_attacks( FILE: tests/fixtures/mod.rs type Error (line 16) | pub type Error = Box; function reqwest_client (line 66) | pub fn reqwest_client() -> Client { function tmpdir (line 77) | pub fn tmpdir() -> TempDir { function port (line 140) | pub fn port() -> u16 { function server (line 147) | pub fn server(#[default(&[] as &[&str])] args: I) -> TestServer function wait_for_port (line 193) | fn wait_for_port(port: u16) { type TestServer (line 205) | pub struct TestServer { method new (line 214) | pub fn new(port: u16, tmpdir: TempDir, child: Child, is_tls: bool) -> ... method url (line 223) | pub fn url(&self) -> Url { method path (line 228) | pub fn path(&self) -> &std::path::Path { method port (line 232) | pub fn port(&self) -> u16 { method drop (line 238) | fn drop(&mut self) { FILE: tests/header.rs function custom_header_set (line 11) | fn custom_header_set(#[case] headers: Vec, reqwest_client: Clien... FILE: tests/navigation.rs function index_gets_trailing_slash (line 21) | fn index_gets_trailing_slash( function cant_navigate_up_the_root (line 35) | fn cant_navigate_up_the_root(server: TestServer) -> Result<(), Error> { function can_navigate_into_dirs_and_back (line 54) | fn can_navigate_into_dirs_and_back( function can_navigate_deep_into_dirs_and_back (line 87) | fn can_navigate_deep_into_dirs_and_back( function can_navigate_using_breadcrumbs (line 136) | fn can_navigate_using_breadcrumbs( function can_specify_default_sorting_order (line 174) | fn can_specify_default_sorting_order( FILE: tests/paste.rs function paste_entry_only_appears_with_flag (line 17) | fn paste_entry_only_appears_with_flag( FILE: tests/qrcode.rs function webpage_hides_qrcode_when_disabled (line 16) | fn webpage_hides_qrcode_when_disabled( function webpage_shows_qrcode_when_enabled (line 31) | fn webpage_shows_qrcode_when_enabled( function run_in_faketty_kill_and_get_stdout (line 53) | fn run_in_faketty_kill_and_get_stdout(template: &Command) -> Result Res... function qrcode_shown_in_tty_when_enabled (line 92) | fn qrcode_shown_in_tty_when_enabled(tmpdir: TempDir, port: u16) -> Resul... function qrcode_hidden_in_non_tty_when_enabled (line 107) | fn qrcode_hidden_in_non_tty_when_enabled(tmpdir: TempDir, port: u16) -> ... FILE: tests/raw.rs function ui_displays_wget_element (line 21) | fn ui_displays_wget_element( function raw_mode_links_to_directories_end_with_raw_true (line 66) | fn raw_mode_links_to_directories_end_with_raw_true( FILE: tests/readme.rs function write_readme_contents (line 16) | fn write_readme_contents(path: PathBuf, filename: &str) -> PathBuf { function assert_readme_contents (line 25) | fn assert_readme_contents(parsed_dom: &Document, filename: &str) { function no_readme_contents (line 60) | fn no_readme_contents(server: TestServer, reqwest_client: Client) -> Res... function show_root_readme_contents (line 90) | fn show_root_readme_contents( function show_nested_readme_contents (line 123) | fn show_nested_readme_contents( FILE: tests/rm_files.rs constant NESTED_FILES_UNDER_SINGLE_ROOT (line 16) | const NESTED_FILES_UNDER_SINGLE_ROOT: &[&str] = &["someDir/alpha", "some... function make_get_path (line 20) | fn make_get_path(unencoded_path: impl AsRef) -> String { function make_del_path (line 38) | fn make_del_path(unencoded_path: impl AsRef) -> String { function assert_rm_ok (line 44) | fn assert_rm_ok( function assert_rm_err (line 76) | fn assert_rm_err( function rm_disabled_by_default (line 118) | fn rm_disabled_by_default( function rm_disabled_by_default_with_hidden (line 138) | fn rm_disabled_by_default_with_hidden( function rm_works (line 154) | fn rm_works( function cannot_rm_hidden_when_disallowed (line 167) | fn cannot_rm_hidden_when_disallowed( function can_rm_hidden_when_allowed (line 180) | fn can_rm_hidden_when_allowed( function rm_is_restricted (line 195) | fn rm_is_restricted( function can_rm_allowed_dir (line 214) | fn can_rm_allowed_dir( function can_rm_from_allowed_dir (line 237) | fn can_rm_from_allowed_dir( function rm_from_symlinked_dir (line 249) | fn rm_from_symlinked_dir( FILE: tests/serve_request.rs function serves_requests_with_no_options (line 23) | fn serves_requests_with_no_options(reqwest_client: Client, tmpdir: TempD... function serves_requests_with_non_default_port (line 49) | fn serves_requests_with_non_default_port( function serves_requests_for_special_routes (line 109) | fn serves_requests_for_special_routes( function serves_requests_hidden_files (line 123) | fn serves_requests_hidden_files( function serves_requests_no_hidden_files_without_flag (line 167) | fn serves_requests_no_hidden_files_without_flag( function serves_requests_nested_in_symlinks (line 194) | fn serves_requests_nested_in_symlinks( function serves_requests_symlinks (line 224) | fn serves_requests_symlinks( function serves_requests_with_randomly_assigned_port (line 290) | fn serves_requests_with_randomly_assigned_port(tmpdir: TempDir) -> Resul... function serves_requests_custom_index_notice (line 314) | fn serves_requests_custom_index_notice(tmpdir: TempDir, port: u16) -> Re... function index_fallback_to_listing (line 340) | fn index_fallback_to_listing( function serve_index_instead_of_404_in_spa_mode (line 357) | fn serve_index_instead_of_404_in_spa_mode( function serve_file_instead_of_404_in_pretty_urls_mode (line 381) | fn serve_file_instead_of_404_in_pretty_urls_mode( function serves_requests_with_route_prefix (line 404) | fn serves_requests_with_route_prefix( function serves_requests_static_file_check (line 423) | fn serves_requests_static_file_check( function serves_no_directory_if_indexing_disabled (line 448) | fn serves_no_directory_if_indexing_disabled( function serves_file_requests_when_indexing_disabled (line 486) | fn serves_file_requests_when_indexing_disabled( FILE: tests/tls.rs function tls_works (line 25) | fn tls_works(#[case] server: TestServer, reqwest_client: Client) -> Resu... function wrong_path_cert (line 40) | fn wrong_path_cert() -> Result<(), Error> { function wrong_path_key (line 52) | fn wrong_path_key() -> Result<(), Error> { FILE: tests/upload_files.rs function uploading_files_works (line 35) | fn uploading_files_works( function uploading_files_is_prevented (line 88) | fn uploading_files_is_prevented(server: TestServer, reqwest_client: Clie... function uploading_files_with_invalid_sha_func_is_prevented (line 144) | fn uploading_files_with_invalid_sha_func_is_prevented( function uploading_files_is_restricted (line 198) | fn uploading_files_is_restricted( function uploading_files_to_allowed_dir_works (line 238) | fn uploading_files_to_allowed_dir_works( function uploading_duplicate_file_is_prevented (line 288) | fn uploading_duplicate_file_is_prevented( function overwrite_duplicate_file (line 345) | fn overwrite_duplicate_file( function rename_duplicate_file (line 398) | fn rename_duplicate_file(#[case] server: TestServer, reqwest_client: Cli... function prevent_path_traversal_attacks (line 462) | fn prevent_path_traversal_attacks( function upload_to_symlink_directory (line 504) | fn upload_to_symlink_directory( function set_media_type (line 548) | fn set_media_type( function assert_file_contents (line 565) | fn assert_file_contents(file_path: &Path, contents: &str) { function chmod (line 576) | fn chmod( FILE: tests/utils/mod.rs function get_link_from_text (line 7) | pub fn get_link_from_text(document: &Document, text: &str) -> Option ... FILE: tests/webdav.rs function webdav_flag_works (line 24) | fn webdav_flag_works( function webdav_advertised_in_options (line 40) | fn webdav_advertised_in_options( function list_webdav (line 58) | fn list_webdav(url: url::Url, path: &str) -> Result, req... function webdav_respects_hidden_flag (line 75) | fn webdav_respects_hidden_flag( function webdav_respects_no_symlink_flag (line 101) | fn webdav_respects_no_symlink_flag(#[case] server: TestServer, #[case] s... function webdav_works_with_route_prefix (line 132) | fn webdav_works_with_route_prefix( function webdav_single_file_refuses_starting (line 153) | fn webdav_single_file_refuses_starting(tmpdir: TempDir) {