mirror of
https://github.com/rwf2/Rocket.git
synced 2024-12-27 21:02:41 +00:00
b8ba7b855f
Sessions -------- This commit removes the `Session` type in favor of methods on the `Cookies` types that allow for adding, removing, and getting private (signed and encrypted) cookies. These methods provide a superset of the functionality of `Session` while also being a minimal addition to the existing API. They can be used to implement the previous `Session` type as well as other forms of session storage. The new methods are: * Cookie::add_private(&mut self, Cookie) * Cookie::remove_private(&mut self, Cookie) * Cookie::get_private(&self, &str) Resolves #20 Testing ------- This commit removes the `rocket::testing` module. It adds the `rocket::local` module which provides a `Client` type for local dispatching of requests against a `Rocket` instance. This `local` package subsumes the previous `testing` package. Rocket Examples --------------- The `forms`, `optional_result`, and `hello_alt_methods` examples have been removed. The following example have been renamed: * extended_validation -> form_validation * hello_ranks -> ranking * from_request -> request_guard * hello_tls -> tls Other Changes ------------- This commit also includes the following smaller changes: * Config::{development, staging, production} constructors have been added for easier creation of default `Config` structures. * The `Config` type is exported from the root. * `Request` implements `Clone` and `Debug`. * `Request::new` is no longer exported. * A `Response::body_bytes` method was added to easily retrieve a response's body as a `Vec<u8>`. |
||
---|---|---|
.. | ||
db | ||
migrations | ||
src | ||
static | ||
bootstrap.sh | ||
Cargo.toml | ||
README.md | ||
Rocket.toml |
Rocket Todo Example
This example makes use of a SQLite database via diesel
to store todo tasks. As
a result, you'll need to have sqlite3
and its headers installed:
- OS X:
brew install sqlite
- Debian/Ubuntu:
apt-get install libsqlite3-dev
- Arch:
pacman -S sqlite
Running
Before running, building, or testing this example, you'll need to ensure the following:
- A SQLite database file with the proper schema is present.
On a Unix machine or with bash installed, you can simply run the
`boostrap.sh` script to create the database. The script installs the
`diesel_cli` tools if they're not already installed and runs the migrations.
The script will output a `DATABASE_URL` variable.
You can also run the migrations manually with the following commands:
```
cargo install diesel_cli # install diesel CLI tools
DATABASE_URL=db/db.sql diesel migration run # create db/db.sql
```
-
A
DATABASE_URL
environment variable is set that points to the SQLite database file.Use the
DATABASE_URL
variable emitted from thebootstrap.sh
script, or enter it manually, as follows:DATABASE_URL=db/db.sql cargo build
DATABASE_URL=db/db.sql cargo test
DATABASE_URL=db/db.sql cargo run