#server #ssr #web #rust

bin+lib rusty-format

rusty_format is a Rust crate that provides a simple and flexible way to create, manage, and handle cookies and client

2 releases

0.1.4 Nov 29, 2024
0.1.3 Nov 28, 2024

#1107 in Web programming


Used in 2 crates (via rusty_oauth)

MIT license

32KB
789 lines

Rusty Format Crate

rusty_format is a Rust crate that provides a simple and flexible way to create response used for http request .

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;

  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;
        let response = ClientResponse::new()
    .method("GET")
    .path("/")
    .host("google.com")
    .authorization("Bearer tyuioor4r567899trtyuiop")
    .content_type(rusty_cookie::ContentType::TextPlain)
    .content("hi billionaire")
    .build();

  GET / HTTP/1.1
  Host: google.com
  Authorization: Bearer tyuioor4r567899trtyuiop
  Content-Type: text/plain
  Content-Length: 14

  hi billionaire
    let cors = Cors::new()
        .allow_origin("*")
        .allow_methods(&["GET", "POST"])
        .allow_headers(&["Content-Type"])
        .allow_credential(true)
        .max_age(6000)
        .build();
    println!("{}", cors);
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,POST
  Access-Control-Allow-Headers: Content-Type
  Access-Control-Allow-Credentials: true
  Access-Control-Max-Age: 6000

No runtime deps