#ssr #server #web #rust

yanked rusty-cookie

rusty_cookie is a Rust crate that provides a simple and flexible way to create, manage, and handle cookies with various configuration options. This crate offers attributes such as SameSite, Secure, HttpOnly, and more to ensure cookies are configured properly for privacy and security

2 releases

0.1.2 Nov 28, 2024
0.1.1 Nov 28, 2024

#12 in #ssr

Download history 202/week @ 2024-11-25 40/week @ 2024-12-02

242 downloads per month

MIT license

10KB
173 lines

Rusty Cookie Crate

rusty_cookie is a Rust crate that provides a simple and flexible way to create, manage, and handle cookies with various configuration options. This crate offers attributes such as SameSite, Secure, HttpOnly, and more to ensure cookies are configured properly for privacy and security.

Features

  • Secure Cookies: Ensures cookies are sent over HTTPS.
  • HttpOnly Cookies: Protects cookies from client-side JavaScript access.
  • SameSite Policy: Controls whether cookies are sent with cross-site requests.
  • Expiration and Max-Age: Allows you to set expiration times for cookies.
  • Path-based Cookies: Assign cookies to specific URL paths.
  • Custom Cookie Properties: You can specify different properties for cookies, such as security level.

Installation

To use rusty_cookie in your project, add the following dependency in your Cargo.toml:


  [dependencies]
  rusty_cookie = "0.1.2"


    use rusty_cookie::Cookie;

    fn main() {
        let cookie = Cookie::new()
            .key("secure_code")                          // The key (name) of the cookie
            .value("rt8uygyiuiouhopijuhu8yu8ui")         // The value of the cookie
            .http_only(true)                             // Make the cookie HttpOnly (cannot be accessed via JavaScript)
            .same_site(SameSite::Lax)                    // Set the SameSite policy (Lax, Strict, None)
            .max_age(3600)                               // Set the cookie's Max-Age (in seconds)
            .path("/")                                   // Set the cookie's path to root
            .properties(Properties::High)                // Set cookie's properties (Low, Medium, High)
            .secure(true)                                // Mark the cookie as secure (sent only over HTTPS)
            .build();                                    // Build the cookie
    }


  Set-Cookie: secure_code=rt8uygyiuiouhopijuhu8yu8ui; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=3600; Priority=High;

No runtime deps