aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-08-30Use selected theme in error pageAli MJ Al-Nasrawy1-0/+10
2021-08-30Exclude embedded routes from authenticationAli MJ Al-Nasrawy1-48/+30
2021-08-30Fix clippy::too_many_arguments and rework error ..Ali MJ Al-Nasrawy6-423/+199
... page rendering Too many arguments are moved around and many of them are already stored in MiniserveConfig. Many of these are used to render error pages. To fix this issue, it was necessary to rework error page rendering: 1. Implement `ResponseError` for `ContextualError` so that it can be returned from service handlers as is and will then be automatically logged to the console and converted into an error response. 2. At service handler level, all error responses are now rendered as plain text. 3. 'error_page_middleware' is now responsible for the rendering of the final error page from plain text reponses. Signed-off-by: Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com>
2021-08-30Implement show symlink destinationDean Li5-18/+43
Add option `show_symlink_info` to represent show symlink info or not. (Default to no) Show symlink destination after symlink symbol in directory listing Resemble `ls -l` and also the short argument select for this feature is also `-l`. Basic testing is included. Related to #499
2021-08-30address review commentAli MJ Al-Nasrawy1-8/+14
2021-08-30order interface verticallyAli MJ Al-Nasrawy1-3/+3
2021-08-30add comment to create_tcp_listenerAli MJ Al-Nasrawy1-0/+4
2021-08-30Use exit codes for failureAli MJ Al-Nasrawy1-4/+5
2021-08-30Show IP addresses of all local interfacesAli MJ Al-Nasrawy1-48/+43
.. when binding to wildcard addresses (:: or 0.0.0.0) * Remove local variable `interfaces` because it is no longer used multiple times.
2021-08-30Fix default binding behaviourAli MJ Al-Nasrawy1-5/+22
On some platforms, binding to to both "::" and "0.0.0.0" at the same time is not allowed because "::" may already accepts ipv4 connections. For other platforms, binding to both is necessary to support ipv4 and ipv6. This platform-specific behaviour is due to the variation in the default value for the socket option "IPV6_ONLY". Fix this by always setting the "IPv6_ONLY" sockopt to true!
2021-08-30Fix -i 0.0.0.0Ali MJ Al-Nasrawy1-23/+4
Don't use `interfaces`, use `miniserve_config.interfaces` instead! Otherwise, "0.0.0.0" is converted to "localhost"!
2021-08-30Fail if any address fails to bindAli MJ Al-Nasrawy1-18/+13
2021-08-30Switch from structopt to clap v3Sven-Hendrik Haase3-39/+61
2021-08-29Fix some warnings when building without TLSSven-Hendrik Haase1-3/+5
2021-08-29list directory if index not foundAli MJ Al-Nasrawy1-18/+18
2021-08-28file_upload.rs: use async/awaitAli MJ Al-Nasrawy2-135/+102
... and rewrite {save_file, handle_multipart} ... and fix clippy warning about create_error_response() being always Ok()
2021-08-28migrate to actix-web v4.0-betaAli MJ Al-Nasrawy5-61/+75
2021-08-28Switch TLS conditional compilation to featureSven-Hendrik Haase3-54/+9
2021-08-27Conditionally enable TLS only on supported platformsSven-Hendrik Haase3-0/+66
2021-08-27Add backslash to percent_encode_sets.PATH_SEGMENT. Fixes #545jikstra1-1/+1
2021-08-27Fix accidental formattingSven-Hendrik Haase1-74/+74
2021-08-27Add TLS support via rustls (fixes #18)Sven-Hendrik Haase3-232/+292
2021-08-25Upgrade qrcodegen (fixes #568)Sven-Hendrik Haase1-2/+33
2021-06-28Fix lintsSven-Hendrik Haase2-4/+4
2021-04-18Prefer UTF8 for text reponses (fixes #263)Sven-Hendrik Haase1-0/+1
This should fix most encoding problems in most cases where text files are accessed on various locales.
2021-04-18Rename compression code references to 'archive'Sven-Hendrik Haase3-35/+35
This name more closely resembles its purpose. For instance, we also now support plain tar archives which are uncompressed but archives nonetheless.
2021-04-18Change naming of uncompressed/compressed tarballsDean Li5-23/+18
Use following terminology: uncompressed tarballs => `uncompressed tar archives` compressed ones => `gz-compressed tar archives`
2021-04-11Separate tar archive and tar flagsDean Li5-7/+25
It used to have one flag (-r) to enable both tar archive and tar. Now it has two flags [ -r: for tar, -g: for tar archive]. Related to #451
2021-04-09Fix breadcrumbs mess on mobileAli MJ Al-Nasrawy1-1/+1
On mobile devices, 'display: block' is set for '.directory' class. While this neccessary to make the whole row for directories entry clickable, it distorts the links in breadcrumbs.
2021-04-09Fix breadcrumbs for RTL languagesAli MJ Al-Nasrawy1-3/+3
2021-04-08Avoid double-encoding file URLAli MJ Al-Nasrawy1-6/+5
Now that the '%' char itself is accepted in the file name and is encoded into '%25', this exposed a previously silent bug: `base` is already percent-encoded but it is encoded again when setting `file_url`. This produces erroneous URLs such as: '/%2523/x.y' instead of '/%23/x.y' for the path '/#/x.y'
2021-04-06Fix percent encoding for URLAli MJ Al-Nasrawy1-5/+14
Use proper percent-encoding charset for each context.
2021-04-05Avoid unneccessary syscalls for entry metadataAli MJ Al-Nasrawy1-4/+7
For non-symlink files and directories, there is no need to call `std::fs::metadata()` as the metadata are already obtained via `entry.metadata()`
2021-04-05Honor --no-symlinks option when listingAli MJ Al-Nasrawy1-1/+1
2021-03-29Move symlink symbol from html to cssAli MJ Al-Nasrawy1-2/+2
This should facilitate testing because this symbol will no longer a part of the entry text shown in html.
2021-03-28Bump depsSven-Hendrik Haase1-0/+1
2021-03-28Refuse to start without explicit path if not attached to interactive terminalSven-Hendrik Haase4-38/+61
2021-03-28Change start message without arguments to be a bit more clearSven-Hendrik Haase1-4/+4
2021-03-28Change default log level to WarnSven-Hendrik Haase1-1/+1
2021-03-28Better message for when provided index file doesn't existSven-Hendrik Haase1-3/+4
2021-03-28Print supported shells for completions in help commandSven-Hendrik Haase1-1/+1
2021-03-28Refactor and separate out arg handling and config handlingSven-Hendrik Haase2-91/+94
2021-03-28Generate completions with `miniserve --print-completions <shell>`Andy Freeland2-8/+18
This patch adds a `--print-completions` option to generate shell completion files at runtime. This ensures the completions are always up to date. Fixes #377.
2021-03-27Bring back the symlink symbolAli MJ Al-Nasrawy2-0/+17
2021-03-27Resolve symlinks when listingAli MJ Al-Nasrawy2-23/+3
This has the benefit of showing the size and modification date of the pointed-to file. Symlink to directories now respects '--dirs-first' option and broken symlinks don't show in directory listing.
2021-03-26Fix QR code display when using --random-routeAndy Freeland1-1/+1
Previously the QR code would not display because `/` is a 404 when using `--random-route`.
2021-03-20Switch from failure to thiserrorSven-Hendrik Haase1-28/+17
2021-03-07Add option to show hidden filesSven-Hendrik Haase3-25/+43
2021-03-07Start without countdown in case an explicit index is chosenSven-Hendrik Haase1-1/+1
2021-03-07Fix DoS issue when deliberately sending unconforming URL pathsSven-Hendrik Haase1-1/+1