Skip to main content

Crate rustapi_extras

Crate rustapi_extras 

Source
Expand description

§rustapi-extras

Optional security and utility features for the RustAPI framework.

This crate provides production-ready middleware and utilities that are opt-in via Cargo feature flags to minimize binary size when not needed.

§Features

  • jwt - JWT authentication middleware and AuthUser<T> extractor
  • cors - CORS middleware with builder pattern configuration
  • rate-limit - IP-based rate limiting middleware
  • csrf - CSRF protection using Double-Submit Cookie pattern
  • config - Configuration management with .env file support
  • cookies - Cookie parsing extractor
  • sqlx - SQLx database error conversion to ApiError
  • insight - Traffic insight middleware for analytics and debugging
  • extras - Meta feature enabling jwt, cors, and rate-limit
  • full - All features enabled

§CSRF Protection Example

use rustapi_core::RustApi;
use rustapi_extras::csrf::{CsrfConfig, CsrfLayer, CsrfToken};

let config = CsrfConfig::new()
    .cookie_name("csrf_token")
    .header_name("X-CSRF-Token");

let app = RustApi::new()
    .layer(CsrfLayer::new(config));

§Example

[dependencies]
rustapi-extras = { version = "0.1.275", features = ["jwt", "cors", "csrf"] }