helmet-core

Crates.iohelmet-core
lib.rshelmet-core
version0.1.0
sourcesrc
created_at2024-01-05 20:31:03.7362
updated_at2024-01-05 20:31:03.7362
descriptionHTTP security headers middleware core for various web frameworks
homepagehttps://github.com/danielkov/ntex-helmet
repositoryhttps://github.com/danielkov/ntex-helmet
max_upload_size
id1090419
size61,452
Daniel Emod Kovacs (danielkov)

documentation

README

helmet-core - Security Middleware for popular Rust web frameworks

crate docs

  • ntex-helmet is a security middleware for the ntex web framework.
  • actix-web-helmet is a security middleware for the actix-web web framework. Coming Soon
  • rocket-helmet is a security middleware for the rocket web framework. Coming Soon
  • warp-helmet is a security middleware for the warp web framework. Coming Soon
  • axum-helmet is a security middleware for the axum web framework.

It works by setting HTTP headers for you. These headers can help protect your app from some well-known web vulnerabilities:

Usage

Add this to your Cargo.toml:

[dependencies]
helmet-core = "0.1"

Implementing the middleware is different for each framework. See the README for your framework of choice to see how to use it.

Example

use helmet_core::Helmet;

let helmet = Helmet::default();

struct MyCustomFrameworkMiddleware(Helmet);

// Imagine this is a middleware for your favorite framework
impl<S, B> Middleware<S, B> for MyCustomFrameworkMiddleware {
    fn start(&self, req: &mut Request<S>) -> Result<Started> {
        self.0.headers.iter().for_each(|(k, v)| {
            req.headers_mut().insert(k, v.clone());
        });
        Ok(Started::Done)
    }
}

License

This project is licensed under the MIT license.

Commit count: 9

cargo fmt