mirror of
https://github.com/rwf2/Rocket.git
synced 2024-12-31 23:02:37 +00:00
9b955747e4
This commit includes two major changes to core: 1. Configuration state is no longer global. The `config::active()` function has been removed. The active configuration can be retrieved via the `config` method on a `Rocket` instance. 2. The `Responder` trait has changed. `Responder::respond(self)` has been removed in favor of `Responder::respond_to(self, &Request)`. This allows responders to dynamically adjust their response based on the incoming request. Additionally, it includes the following changes to core and codegen: * The `Request::guard` method was added to allow for simple retrivial of request guards. * The `Request::limits` method was added to retrieve configured limits. * The `File` `Responder` implementation now uses a fixed size body instead of a chunked body. * The `Outcome::of<R: Responder>(R)` method was removed while `Outcome::from<R: Responder(&Request, R)` was added. * The unmounted and unmanaged limits are more cautious: they will only emit warnings when the `Rocket` receiver is known. This commit includes one major change to contrib: 1. To use contrib's templating, the fairing returned by `Template::fairing()` must be attached to the running Rocket instance. Additionally, the `Display` implementation of `Template` was removed. To directly render a template to a `String`, the new `Template::show` method can be used.
70 lines
2.4 KiB
Plaintext
70 lines
2.4 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Rocket Todo Example</title>
|
|
<meta name="description" content="A todo application written in Rocket.">
|
|
<meta name="author" content="Sergio Benitez">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<link href="//fonts.googleapis.com/css?family=Raleway:400,300,600" rel="stylesheet" type="text/css">
|
|
<link rel="stylesheet" href="/css/normalize.css">
|
|
<link rel="stylesheet" href="/css/skeleton.css">
|
|
<link rel="stylesheet" href="/css/style.css">
|
|
<link rel="icon" type="image/png" href="/images/favicon.png">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<p><!--Nothing to see here --></p>
|
|
|
|
<div class="row">
|
|
<h4>Rocket Todo</h4>
|
|
<form action="/todo" method="post">
|
|
<div class="ten columns">
|
|
<input type="text" placeholder="enter a task description..."
|
|
name="description" id="description" value="" autofocus
|
|
class="u-full-width {% if msg %}field-{{msg.0}}{% endif %}" />
|
|
{% if msg %}
|
|
<small class="field-{{msg.0}}-msg">
|
|
{{ msg.1 }}
|
|
</small>
|
|
{% endif %}
|
|
</div>
|
|
<div class="two columns">
|
|
<input type="submit" value="add task">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="twelve columns">
|
|
<ul>
|
|
{% for task in tasks %}
|
|
{% if task.completed %}
|
|
<li>
|
|
<span class="completed">{{ task.description }}</span>
|
|
<form class="inline" action="/todo/{{task.id}}" method="post">
|
|
<input type="hidden" name="_method" value="put" />
|
|
<button class="small" type="submit">undo</button>
|
|
</form>
|
|
<form class="inline" action="/todo/{{task.id}}" method="post">
|
|
<input type="hidden" name="_method" value="delete" />
|
|
<button class="primary small" type="submit">delete</button>
|
|
</form>
|
|
</li>
|
|
{% else %}
|
|
<li>
|
|
<form class="link" action="/todo/{{task.id}}" method="post">
|
|
<input type="hidden" name="_method" value="put" />
|
|
<button class="link" type="submit">{{ task.description }}</button>
|
|
</form>
|
|
</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|