1.9 KiB
title | menu | weight |
---|---|---|
Static Files | docs_advanced | 230 |
Individual file
It is possible to serve static files with a custom path pattern and NamedFile
. To match a path tail, we can use a [.*]
regex.
{{< include-example example="static-files" file="main.rs" section="individual-file" >}}
Directory
To serve files from specific directories and sub-directories, Files
can be used. Files
must be registered with an App::service()
method, otherwise it will be unable to serve sub-paths.
{{< include-example example="static-files" file="directory.rs" section="directory" >}}
By default files listing for sub-directories is disabled. Attempt to load directory listing will return 404 Not Found response. To enable files listing, use Files::show_files_listing() method.
Instead of showing files listing for directory, it is possible to redirect to a specific index file. Use the Files::index_file() method to configure this redirect.
Configuration
NamedFiles
can specify various options for serving files:
set_content_disposition
- function to be used for mapping file's mime to correspondingContent-Disposition
typeuse_etag
- specifies whetherETag
shall be calculated and included in headers.use_last_modified
- specifies whether file modified timestamp should be used and added toLast-Modified
header.
All of the above methods are optional and provided with the best defaults, But it is possible to customize any of them.
{{< include-example example="static-files" file="configuration.rs" section="config-one" >}}
The Configuration can also be applied to directory service:
{{< include-example example="static-files" file="configuration_two.rs" section="config-two" >}}