Skip to content

Commit

Permalink
Add a "clear message" button to cookies example.
Browse files Browse the repository at this point in the history
  • Loading branch information
SergioBenitez committed Nov 1, 2023
1 parent fa0c778 commit 1df854e
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 11 deletions.
11 changes: 9 additions & 2 deletions examples/cookies/src/message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,19 @@ fn submit(cookies: &CookieJar<'_>, message: Form<&str>) -> Redirect {
Redirect::to(uri!(index))
}

#[delete("/")]
fn delete(cookies: &CookieJar<'_>) -> Redirect {
cookies.remove("message");
Redirect::to(uri!(index))
}

#[get("/")]
fn index(cookies: &CookieJar<'_>) -> Template {
let message = cookies.get("message").map(|c| c.value());
Template::render("message", context! { message })
let present = cookies.get("message").is_some();
Template::render("message", context! { present, message })
}

pub fn routes() -> Vec<rocket::Route> {
routes![submit, index]
routes![index, submit, delete]
}
32 changes: 23 additions & 9 deletions examples/cookies/templates/message.html.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,32 @@
</head>
<body>
<h1>Rocket Cookie Message</h1>
{{#if message }}
<p>{{message}}</p>
{{else}}
<p>No message yet.</p>
{{/if}}

<form action="/message" method="post" accept-charset="utf-8">
<textarea placeholder="Your message here..."
name="message" rows="10" cols="50"></textarea>
<p><input type="submit" value="Set Cookie"></p>
<p>
{{#if present}}
{{#if message}}
<b>Message:</b> <i>{{message}}</i>
{{else}}
<b>Message:</b> <i>[empty message]</i>
{{/if}}
{{else}}
<b>No message yet.</b>
{{/if}}
</p>

<form id="set" action="/message" method="post">
<textarea placeholder="Your message here..." name="message" rows="10" cols="50"></textarea>
</form>

<form id="delete" action="/message" method="post">
<input type="hidden" name="_method" value="delete" />
</form>

<p>
<input type="submit" form="set" value="Set Message" />
<input type="submit" form="delete" value="Clear Message" />
</p>

<a href="/">Home</a>
</body>
</html>

0 comments on commit 1df854e

Please sign in to comment.