Skip to content

sunfishcode/tide-naive-static-files

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 1 commit ahead of eignnx:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 

tide-naive-static-files, ported to cap-async-std

This is a port of tide-naive-static-files to cap-async-std. By using cap_async_std::fs::Dir, it refuses to follow symlinks which lead to paths outside of the directory it's configured to serve from.

Original README from upstream repository follows...

A simple static file serving component for Rust's Tide web framework.

Acknowledgements

This code is based heavily on this archived example.

This crate is not officially associated with the tide project, it's more of an interim solution while tide is still in a state of (relative) flux.

Note on Version Numbers

Mistakes were made when initially selecting version numbers for this crate. In the Rust ecosystem, a 1.0.0 release generally means the crate is fit for production. This crate makes no such claim. It would be best to "divide by ten" when looking at the crate's version number (i.e. 2.0.1 should be thought of as 0.2.0.1).

Example

To use the library:

  1. Define the route to host your assets under
  2. Stip the prefix so the routes match your files
  3. Set up a get endpoint with the StaticFilesEndpoint making sure the root represents the path from where you run the server to the root of your assets
use async_std::task;
use tide_naive_static_files::StaticFilesEndpoint;

fn main() {
    let mut app = tide::new();

    app.at("/static") // 1.
       .strip_prefix() // 2
       .get(StaticFilesEndpoint {
            root: "./examples/".into(), // 3.
        });

    task::block_on(app.listen("127.0.0.1:8000")).unwrap();
}

Contributors

If you're interested in contributing to the project, please see our CONTRIBUTING.md file!

About

A simple static file serving component for Rust's Tide web framework.

Resources

Code of conduct

Stars

Watchers

Forks

Languages

  • Rust 100.0%