# http-fs
[](https://gitlab.com/Douman/http-fs/pipelines)
[](https://crates.io/crates/http-fs)
[](https://docs.rs/crate/http-fs/)
[](https://deps.rs/crate/http-fs)
## Features
- `actix` - Enables `actix-web` integration.
- `hyper` - Enables `hyper` integration.
## Usage
### Actix
```rust
use http_fs::config::{self, StaticFileConfig};
use http_fs::{StaticFiles};
use std::path::Path;
pub struct DirectoryConfig;
impl StaticFileConfig for DirectoryConfig {
type FileService = config::DefaultConfig;
type DirService = config::DefaultConfig;
fn handle_directory(&self, _path: &Path) -> bool {
true
}
}
fn main() {
actix_web::server::new(|| actix_web::App::new().handler("/", StaticFiles::new(DirectoryConfig)).finish()).bind("127.0.0.1:8080").unwrap().run();
}
```
### Hyper
```rust
use http_fs::config::{self, StaticFileConfig};
use http_fs::{StaticFiles};
use futures::Future;
use std::path::Path;
#[derive(Clone)]
pub struct DirectoryConfig;
impl StaticFileConfig for DirectoryConfig {
type FileService = config::DefaultConfig;
type DirService = config::DefaultConfig;
fn handle_directory(&self, _path: &Path) -> bool {
true
}
}
fn main() {
let addr = ([127, 0, 0, 1], 3000).into();
let static_files = StaticFiles::new(DirectoryConfig);
let server = hyper::Server::bind(&addr).serve(static_files).map_err(|e| eprintln!("server error: {}", e));
println!("Listening on http://{}", addr);
hyper::rt::run(server);
}
```